xref: /aoo42x/main/svx/source/svdraw/svdattr.cxx (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_svx.hxx"
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir 
32*cdf0e10cSrcweir #include <com/sun/star/drawing/TextFitToSizeType.hpp>
33*cdf0e10cSrcweir #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
34*cdf0e10cSrcweir #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
35*cdf0e10cSrcweir #include <com/sun/star/drawing/TextAnimationKind.hpp>
36*cdf0e10cSrcweir #include <com/sun/star/uno/Any.hxx>
37*cdf0e10cSrcweir #include <com/sun/star/drawing/TextAnimationDirection.hpp>
38*cdf0e10cSrcweir #include <com/sun/star/drawing/ConnectorType.hpp>
39*cdf0e10cSrcweir #include <com/sun/star/drawing/MeasureKind.hpp>
40*cdf0e10cSrcweir #include <com/sun/star/drawing/MeasureTextHorzPos.hpp>
41*cdf0e10cSrcweir #include <com/sun/star/drawing/MeasureTextVertPos.hpp>
42*cdf0e10cSrcweir #include <com/sun/star/drawing/CircleKind.hpp>
43*cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.hxx>
44*cdf0e10cSrcweir 
45*cdf0e10cSrcweir #include <unotools/intlwrapper.hxx>
46*cdf0e10cSrcweir #include <comphelper/processfactory.hxx>
47*cdf0e10cSrcweir #include <vcl/svapp.hxx>
48*cdf0e10cSrcweir #include <svx/svdattr.hxx>
49*cdf0e10cSrcweir #include <svx/svdattrx.hxx>
50*cdf0e10cSrcweir #include <svx/svdpool.hxx>
51*cdf0e10cSrcweir 
52*cdf0e10cSrcweir #include <svl/solar.hrc>
53*cdf0e10cSrcweir #include "editeng/xmlcnitm.hxx"
54*cdf0e10cSrcweir 
55*cdf0e10cSrcweir #include <svx/svxids.hrc>
56*cdf0e10cSrcweir #include <svx/xtable.hxx>    // fuer RGB_Color()
57*cdf0e10cSrcweir #include "svx/svditext.hxx"
58*cdf0e10cSrcweir #include <svx/svdmodel.hxx>  // fuer DEGREE_CHAR
59*cdf0e10cSrcweir #include <svx/svdtrans.hxx>
60*cdf0e10cSrcweir #include "svx/svdglob.hxx"  // Stringcache
61*cdf0e10cSrcweir #include "svx/svdstr.hrc"
62*cdf0e10cSrcweir #include <svx/sdgcpitm.hxx>
63*cdf0e10cSrcweir #include <editeng/adjitem.hxx>
64*cdf0e10cSrcweir #include <svx/sdtfchim.hxx>
65*cdf0e10cSrcweir #include <editeng/writingmodeitem.hxx>
66*cdf0e10cSrcweir #include <tools/bigint.hxx>
67*cdf0e10cSrcweir #include <tools/stream.hxx>
68*cdf0e10cSrcweir 
69*cdf0e10cSrcweir #include <svx/xfillit0.hxx>
70*cdf0e10cSrcweir #include <svx/xflclit.hxx>
71*cdf0e10cSrcweir #include <svx/xlineit0.hxx>
72*cdf0e10cSrcweir #include <svx/svx3ditems.hxx>
73*cdf0e10cSrcweir 
74*cdf0e10cSrcweir #define ITEMID_BOX SDRATTR_TABLE_BORDER
75*cdf0e10cSrcweir #define ITEMID_BOXINFO SDRATTR_TABLE_BORDER_INNER
76*cdf0e10cSrcweir #include "editeng/boxitem.hxx"
77*cdf0e10cSrcweir 
78*cdf0e10cSrcweir #define ITEMID_SHADOW SDRATTR_TABLE_BORDER_SHADOW
79*cdf0e10cSrcweir #include "editeng/shaditem.hxx"
80*cdf0e10cSrcweir 
81*cdf0e10cSrcweir #define ITEMID_LINE 0
82*cdf0e10cSrcweir #include "editeng/bolnitem.hxx"
83*cdf0e10cSrcweir 
84*cdf0e10cSrcweir using namespace ::rtl;
85*cdf0e10cSrcweir using namespace ::com::sun::star;
86*cdf0e10cSrcweir 
87*cdf0e10cSrcweir /*************************************************************************
88*cdf0e10cSrcweir |*
89*cdf0e10cSrcweir |* Konstruktor
90*cdf0e10cSrcweir |*
91*cdf0e10cSrcweir \************************************************************************/
92*cdf0e10cSrcweir 
93*cdf0e10cSrcweir SdrItemPool::SdrItemPool(
94*cdf0e10cSrcweir 	SfxItemPool* _pMaster,
95*cdf0e10cSrcweir 	sal_Bool bLoadRefCounts)
96*cdf0e10cSrcweir :	XOutdevItemPool(_pMaster, SDRATTR_START, SDRATTR_END, bLoadRefCounts)
97*cdf0e10cSrcweir {
98*cdf0e10cSrcweir 	// preapare some constants
99*cdf0e10cSrcweir 	const Color aNullCol(RGB_Color(COL_BLACK));
100*cdf0e10cSrcweir 	const XubString aEmptyStr;
101*cdf0e10cSrcweir 	const sal_Int32 nDefEdgeDist(500L); // Erstmal hart defaulted fuer Draw (100TH_MM). hier muss noch der MapMode beruecksichtigt werden.
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir 	// init the non-persistent items
104*cdf0e10cSrcweir 	for(sal_uInt16 i(SDRATTR_NOTPERSIST_FIRST); i <= SDRATTR_NOTPERSIST_LAST; i++)
105*cdf0e10cSrcweir 	{
106*cdf0e10cSrcweir 		mpLocalItemInfos[i - SDRATTR_START]._nFlags=0;
107*cdf0e10cSrcweir 	}
108*cdf0e10cSrcweir 
109*cdf0e10cSrcweir 	// init own PoolDefaults
110*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOW            -SDRATTR_START]=new SdrShadowItem;
111*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOWCOLOR       -SDRATTR_START]=new SdrShadowColorItem(aEmptyStr,aNullCol);
112*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOWXDIST       -SDRATTR_START]=new SdrShadowXDistItem;
113*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOWYDIST       -SDRATTR_START]=new SdrShadowYDistItem;
114*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOWTRANSPARENCE-SDRATTR_START]=new SdrShadowTransparenceItem;
115*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOW3D          -SDRATTR_START]=new SfxVoidItem(SDRATTR_SHADOW3D    );
116*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHADOWPERSP       -SDRATTR_START]=new SfxVoidItem(SDRATTR_SHADOWPERSP );
117*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONTYPE      -SDRATTR_START]=new SdrCaptionTypeItem      ;
118*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONFIXEDANGLE-SDRATTR_START]=new SdrCaptionFixedAngleItem;
119*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONANGLE     -SDRATTR_START]=new SdrCaptionAngleItem     ;
120*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONGAP       -SDRATTR_START]=new SdrCaptionGapItem       ;
121*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONESCDIR    -SDRATTR_START]=new SdrCaptionEscDirItem    ;
122*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONESCISREL  -SDRATTR_START]=new SdrCaptionEscIsRelItem  ;
123*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONESCREL    -SDRATTR_START]=new SdrCaptionEscRelItem    ;
124*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONESCABS    -SDRATTR_START]=new SdrCaptionEscAbsItem    ;
125*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONLINELEN   -SDRATTR_START]=new SdrCaptionLineLenItem   ;
126*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CAPTIONFITLINELEN-SDRATTR_START]=new SdrCaptionFitLineLenItem;
127*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ECKENRADIUS			-SDRATTR_START]=new SdrEckenradiusItem;
128*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_MINFRAMEHEIGHT	-SDRATTR_START]=new SdrTextMinFrameHeightItem;
129*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_AUTOGROWHEIGHT	-SDRATTR_START]=new SdrTextAutoGrowHeightItem;
130*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_FITTOSIZE		-SDRATTR_START]=new SdrTextFitToSizeTypeItem;
131*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_LEFTDIST		-SDRATTR_START]=new SdrTextLeftDistItem;
132*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_RIGHTDIST		-SDRATTR_START]=new SdrTextRightDistItem;
133*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_UPPERDIST		-SDRATTR_START]=new SdrTextUpperDistItem;
134*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_LOWERDIST		-SDRATTR_START]=new SdrTextLowerDistItem;
135*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_VERTADJUST		-SDRATTR_START]=new SdrTextVertAdjustItem;
136*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_MAXFRAMEHEIGHT	-SDRATTR_START]=new SdrTextMaxFrameHeightItem;
137*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_MINFRAMEWIDTH	-SDRATTR_START]=new SdrTextMinFrameWidthItem;
138*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_MAXFRAMEWIDTH	-SDRATTR_START]=new SdrTextMaxFrameWidthItem;
139*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_AUTOGROWWIDTH	-SDRATTR_START]=new SdrTextAutoGrowWidthItem;
140*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_HORZADJUST		-SDRATTR_START]=new SdrTextHorzAdjustItem;
141*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANIKIND			-SDRATTR_START]=new SdrTextAniKindItem;
142*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANIDIRECTION	-SDRATTR_START]=new SdrTextAniDirectionItem;
143*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANISTARTINSIDE	-SDRATTR_START]=new SdrTextAniStartInsideItem;
144*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANISTOPINSIDE	-SDRATTR_START]=new SdrTextAniStopInsideItem;
145*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANICOUNT		-SDRATTR_START]=new SdrTextAniCountItem;
146*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANIDELAY		-SDRATTR_START]=new SdrTextAniDelayItem;
147*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_ANIAMOUNT		-SDRATTR_START]=new SdrTextAniAmountItem;
148*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_CONTOURFRAME	-SDRATTR_START]=new SdrTextContourFrameItem;
149*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CUSTOMSHAPE_ADJUSTMENT -SDRATTR_START]=new SdrCustomShapeAdjustmentItem;
150*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_XMLATTRIBUTES -SDRATTR_START]=new SvXMLAttrContainerItem( SDRATTR_XMLATTRIBUTES );
151*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_USEFIXEDCELLHEIGHT -SDRATTR_START]=new SdrTextFixedCellHeightItem;
152*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_WORDWRAP		   -SDRATTR_START]=new SdrTextWordWrapItem;
153*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TEXT_AUTOGROWSIZE	   -SDRATTR_START]=new SdrTextAutoGrowSizeItem;
154*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGEKIND         -SDRATTR_START]=new SdrEdgeKindItem;
155*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE1HORZDIST-SDRATTR_START]=new SdrEdgeNode1HorzDistItem(nDefEdgeDist);
156*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE1VERTDIST-SDRATTR_START]=new SdrEdgeNode1VertDistItem(nDefEdgeDist);
157*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE2HORZDIST-SDRATTR_START]=new SdrEdgeNode2HorzDistItem(nDefEdgeDist);
158*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE2VERTDIST-SDRATTR_START]=new SdrEdgeNode2VertDistItem(nDefEdgeDist);
159*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE1GLUEDIST-SDRATTR_START]=new SdrEdgeNode1GlueDistItem;
160*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGENODE2GLUEDIST-SDRATTR_START]=new SdrEdgeNode2GlueDistItem;
161*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGELINEDELTAANZ -SDRATTR_START]=new SdrEdgeLineDeltaAnzItem;
162*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGELINE1DELTA   -SDRATTR_START]=new SdrEdgeLine1DeltaItem;
163*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGELINE2DELTA   -SDRATTR_START]=new SdrEdgeLine2DeltaItem;
164*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_EDGELINE3DELTA   -SDRATTR_START]=new SdrEdgeLine3DeltaItem;
165*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREKIND             -SDRATTR_START]=new SdrMeasureKindItem;
166*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTHPOS         -SDRATTR_START]=new SdrMeasureTextHPosItem;
167*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTVPOS         -SDRATTR_START]=new SdrMeasureTextVPosItem;
168*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURELINEDIST         -SDRATTR_START]=new SdrMeasureLineDistItem(800);
169*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREHELPLINEOVERHANG -SDRATTR_START]=new SdrMeasureHelplineOverhangItem(200);
170*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREHELPLINEDIST     -SDRATTR_START]=new SdrMeasureHelplineDistItem(100);
171*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREHELPLINE1LEN     -SDRATTR_START]=new SdrMeasureHelpline1LenItem;
172*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREHELPLINE2LEN     -SDRATTR_START]=new SdrMeasureHelpline2LenItem;
173*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREBELOWREFEDGE     -SDRATTR_START]=new SdrMeasureBelowRefEdgeItem;
174*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTROTA90       -SDRATTR_START]=new SdrMeasureTextRota90Item;
175*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTUPSIDEDOWN   -SDRATTR_START]=new SdrMeasureTextUpsideDownItem;
176*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREOVERHANG         -SDRATTR_START]=new SdrMeasureOverhangItem(600);
177*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREUNIT             -SDRATTR_START]=new SdrMeasureUnitItem;
178*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURESCALE            -SDRATTR_START]=new SdrMeasureScaleItem;
179*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURESHOWUNIT         -SDRATTR_START]=new SdrMeasureShowUnitItem;
180*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREFORMATSTRING     -SDRATTR_START]=new SdrMeasureFormatStringItem();
181*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTAUTOANGLE    -SDRATTR_START]=new SdrMeasureTextAutoAngleItem();
182*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTAUTOANGLEVIEW-SDRATTR_START]=new SdrMeasureTextAutoAngleViewItem();
183*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTISFIXEDANGLE -SDRATTR_START]=new SdrMeasureTextIsFixedAngleItem();
184*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASURETEXTFIXEDANGLE   -SDRATTR_START]=new SdrMeasureTextFixedAngleItem();
185*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MEASUREDECIMALPLACES    -SDRATTR_START]=new SdrMeasureDecimalPlacesItem();
186*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CIRCKIND      -SDRATTR_START]=new SdrCircKindItem;
187*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CIRCSTARTANGLE-SDRATTR_START]=new SdrCircStartAngleItem;
188*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_CIRCENDANGLE  -SDRATTR_START]=new SdrCircEndAngleItem;
189*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_OBJMOVEPROTECT -SDRATTR_START]=new SdrObjMoveProtectItem;
190*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_OBJSIZEPROTECT -SDRATTR_START]=new SdrObjSizeProtectItem;
191*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_OBJPRINTABLE   -SDRATTR_START]=new SdrObjPrintableItem;
192*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_OBJVISIBLE		-SDRATTR_START]=new SdrObjVisibleItem;
193*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_LAYERID        -SDRATTR_START]=new SdrLayerIdItem;
194*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_LAYERNAME      -SDRATTR_START]=new SdrLayerNameItem;
195*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_OBJECTNAME     -SDRATTR_START]=new SdrObjectNameItem;
196*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ALLPOSITIONX   -SDRATTR_START]=new SdrAllPositionXItem;
197*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ALLPOSITIONY   -SDRATTR_START]=new SdrAllPositionYItem;
198*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ALLSIZEWIDTH   -SDRATTR_START]=new SdrAllSizeWidthItem;
199*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ALLSIZEHEIGHT  -SDRATTR_START]=new SdrAllSizeHeightItem;
200*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ONEPOSITIONX   -SDRATTR_START]=new SdrOnePositionXItem;
201*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ONEPOSITIONY   -SDRATTR_START]=new SdrOnePositionYItem;
202*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ONESIZEWIDTH   -SDRATTR_START]=new SdrOneSizeWidthItem;
203*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ONESIZEHEIGHT  -SDRATTR_START]=new SdrOneSizeHeightItem;
204*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_LOGICSIZEWIDTH -SDRATTR_START]=new SdrLogicSizeWidthItem;
205*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_LOGICSIZEHEIGHT-SDRATTR_START]=new SdrLogicSizeHeightItem;
206*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ROTATEANGLE    -SDRATTR_START]=new SdrRotateAngleItem;
207*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_SHEARANGLE     -SDRATTR_START]=new SdrShearAngleItem;
208*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MOVEX          -SDRATTR_START]=new SdrMoveXItem;
209*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_MOVEY          -SDRATTR_START]=new SdrMoveYItem;
210*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_RESIZEXONE     -SDRATTR_START]=new SdrResizeXOneItem;
211*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_RESIZEYONE     -SDRATTR_START]=new SdrResizeYOneItem;
212*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ROTATEONE      -SDRATTR_START]=new SdrRotateOneItem;
213*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_HORZSHEARONE   -SDRATTR_START]=new SdrHorzShearOneItem;
214*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_VERTSHEARONE   -SDRATTR_START]=new SdrVertShearOneItem;
215*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_RESIZEXALL     -SDRATTR_START]=new SdrResizeXAllItem;
216*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_RESIZEYALL     -SDRATTR_START]=new SdrResizeYAllItem;
217*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_ROTATEALL      -SDRATTR_START]=new SdrRotateAllItem;
218*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_HORZSHEARALL   -SDRATTR_START]=new SdrHorzShearAllItem;
219*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_VERTSHEARALL   -SDRATTR_START]=new SdrVertShearAllItem;
220*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TRANSFORMREF1X -SDRATTR_START]=new SdrTransformRef1XItem;
221*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TRANSFORMREF1Y -SDRATTR_START]=new SdrTransformRef1YItem;
222*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TRANSFORMREF2X -SDRATTR_START]=new SdrTransformRef2XItem;
223*cdf0e10cSrcweir 	mppLocalPoolDefaults[SDRATTR_TRANSFORMREF2Y -SDRATTR_START]=new SdrTransformRef2YItem;
224*cdf0e10cSrcweir     mppLocalPoolDefaults[SDRATTR_TEXTDIRECTION  -SDRATTR_START]=new SvxWritingModeItem(com::sun::star::text::WritingMode_LR_TB, SDRATTR_TEXTDIRECTION);
225*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFRED				- SDRATTR_START] = new SdrGrafRedItem;
226*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFGREEN			- SDRATTR_START] = new SdrGrafGreenItem;
227*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFBLUE			- SDRATTR_START] = new SdrGrafBlueItem;
228*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFLUMINANCE		- SDRATTR_START] = new SdrGrafLuminanceItem;
229*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFCONTRAST		- SDRATTR_START] = new SdrGrafContrastItem;
230*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFGAMMA			- SDRATTR_START] = new SdrGrafGamma100Item;
231*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFTRANSPARENCE	- SDRATTR_START] = new SdrGrafTransparenceItem;
232*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFINVERT			- SDRATTR_START] = new SdrGrafInvertItem;
233*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFMODE			- SDRATTR_START] = new SdrGrafModeItem;
234*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_GRAFCROP			- SDRATTR_START] = new SdrGrafCropItem;
235*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_PERCENT_DIAGONAL - SDRATTR_START ] = new Svx3DPercentDiagonalItem;
236*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_BACKSCALE - SDRATTR_START ] = new Svx3DBackscaleItem;
237*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_DEPTH - SDRATTR_START ] = new Svx3DDepthItem;
238*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_HORZ_SEGS - SDRATTR_START ] = new Svx3DHorizontalSegmentsItem;
239*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_VERT_SEGS - SDRATTR_START ] = new Svx3DVerticalSegmentsItem;
240*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_END_ANGLE - SDRATTR_START ] = new Svx3DEndAngleItem;
241*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_DOUBLE_SIDED - SDRATTR_START ] = new Svx3DDoubleSidedItem;
242*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_NORMALS_KIND - SDRATTR_START ] = new Svx3DNormalsKindItem;
243*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_NORMALS_INVERT - SDRATTR_START ] = new Svx3DNormalsInvertItem;
244*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_TEXTURE_PROJ_X - SDRATTR_START ] = new Svx3DTextureProjectionXItem;
245*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_TEXTURE_PROJ_Y - SDRATTR_START ] = new Svx3DTextureProjectionYItem;
246*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_SHADOW_3D - SDRATTR_START ] = new Svx3DShadow3DItem;
247*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_MAT_COLOR - SDRATTR_START ] = new Svx3DMaterialColorItem;
248*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_MAT_EMISSION - SDRATTR_START ] = new Svx3DMaterialEmissionItem;
249*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_MAT_SPECULAR - SDRATTR_START ] = new Svx3DMaterialSpecularItem;
250*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY - SDRATTR_START ] = new Svx3DMaterialSpecularIntensityItem;
251*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_TEXTURE_KIND - SDRATTR_START ] = new Svx3DTextureKindItem;
252*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_TEXTURE_MODE - SDRATTR_START ] = new Svx3DTextureModeItem;
253*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_TEXTURE_FILTER - SDRATTR_START ] = new Svx3DTextureFilterItem;
254*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_SMOOTH_NORMALS - SDRATTR_START ] = new Svx3DSmoothNormalsItem;
255*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_SMOOTH_LIDS - SDRATTR_START ] = new Svx3DSmoothLidsItem;
256*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_CHARACTER_MODE - SDRATTR_START ] = new Svx3DCharacterModeItem;
257*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_CLOSE_FRONT - SDRATTR_START ] = new Svx3DCloseFrontItem;
258*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_CLOSE_BACK - SDRATTR_START ] = new Svx3DCloseBackItem;
259*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY - SDRATTR_START ] = new Svx3DReducedLineGeometryItem;
260*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_PERSPECTIVE - SDRATTR_START ] = new Svx3DPerspectiveItem;
261*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_DISTANCE - SDRATTR_START ] = new Svx3DDistanceItem;
262*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_FOCAL_LENGTH - SDRATTR_START ] = new Svx3DFocalLengthItem;
263*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_TWO_SIDED_LIGHTING - SDRATTR_START ] = new Svx3DTwoSidedLightingItem;
264*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_1 - SDRATTR_START ] = new Svx3DLightcolor1Item;
265*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_2 - SDRATTR_START ] = new Svx3DLightcolor2Item;
266*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_3 - SDRATTR_START ] = new Svx3DLightcolor3Item;
267*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_4 - SDRATTR_START ] = new Svx3DLightcolor4Item;
268*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_5 - SDRATTR_START ] = new Svx3DLightcolor5Item;
269*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_6 - SDRATTR_START ] = new Svx3DLightcolor6Item;
270*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_7 - SDRATTR_START ] = new Svx3DLightcolor7Item;
271*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTCOLOR_8 - SDRATTR_START ] = new Svx3DLightcolor8Item;
272*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_AMBIENTCOLOR - SDRATTR_START ] = new Svx3DAmbientcolorItem;
273*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_1 - SDRATTR_START ] = new Svx3DLightOnOff1Item;
274*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_2 - SDRATTR_START ] = new Svx3DLightOnOff2Item;
275*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_3 - SDRATTR_START ] = new Svx3DLightOnOff3Item;
276*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_4 - SDRATTR_START ] = new Svx3DLightOnOff4Item;
277*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_5 - SDRATTR_START ] = new Svx3DLightOnOff5Item;
278*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_6 - SDRATTR_START ] = new Svx3DLightOnOff6Item;
279*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_7 - SDRATTR_START ] = new Svx3DLightOnOff7Item;
280*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTON_8 - SDRATTR_START ] = new Svx3DLightOnOff8Item;
281*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_1 - SDRATTR_START ] = new Svx3DLightDirection1Item;
282*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_2 - SDRATTR_START ] = new Svx3DLightDirection2Item;
283*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_3 - SDRATTR_START ] = new Svx3DLightDirection3Item;
284*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_4 - SDRATTR_START ] = new Svx3DLightDirection4Item;
285*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_5 - SDRATTR_START ] = new Svx3DLightDirection5Item;
286*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_6 - SDRATTR_START ] = new Svx3DLightDirection6Item;
287*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_7 - SDRATTR_START ] = new Svx3DLightDirection7Item;
288*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_LIGHTDIRECTION_8 - SDRATTR_START ] = new Svx3DLightDirection8Item;
289*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_SHADOW_SLANT - SDRATTR_START ] = new Svx3DShadowSlantItem;
290*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_3DSCENE_SHADE_MODE - SDRATTR_START ] = new Svx3DShadeModeItem;
291*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_CUSTOMSHAPE_ENGINE - SDRATTR_START ] = new SdrCustomShapeEngineItem;
292*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_CUSTOMSHAPE_DATA - SDRATTR_START ] = new SdrCustomShapeDataItem;
293*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_CUSTOMSHAPE_GEOMETRY - SDRATTR_START ] = new SdrCustomShapeGeometryItem;
294*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_CUSTOMSHAPE_REPLACEMENT_URL - SDRATTR_START ] = new SdrCustomShapeReplacementURLItem;
295*cdf0e10cSrcweir 
296*cdf0e10cSrcweir 	SvxBoxItem* pboxItem = new SvxBoxItem( SDRATTR_TABLE_BORDER );
297*cdf0e10cSrcweir 	pboxItem->SetDistance( 100 );
298*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_TABLE_BORDER - SDRATTR_START ] = pboxItem;
299*cdf0e10cSrcweir 
300*cdf0e10cSrcweir 	SvxBoxInfoItem* pBoxInfoItem = new SvxBoxInfoItem( SDRATTR_TABLE_BORDER_INNER );
301*cdf0e10cSrcweir 
302*cdf0e10cSrcweir 	pBoxInfoItem->SetTable( sal_True );
303*cdf0e10cSrcweir 	pBoxInfoItem->SetDist( sal_True);        // Abstandsfeld immer anzeigen
304*cdf0e10cSrcweir //	pBoxInfoItem->SetMinDist( sal_True );// Minimalgroesse in Tabellen und Absaetzen setzen
305*cdf0e10cSrcweir //	pBoxInfoItem->SetDefDist( MIN_BORDER_DIST );// Default-Abstand immer setzen
306*cdf0e10cSrcweir 	pBoxInfoItem->SetValid( VALID_DISABLE, sal_True ); // Einzelne Linien koennen nur in Tabellen DontCare-Status haben
307*cdf0e10cSrcweir 
308*cdf0e10cSrcweir 	mppLocalPoolDefaults[ SDRATTR_TABLE_BORDER_INNER - SDRATTR_START ] =  pBoxInfoItem;
309*cdf0e10cSrcweir //	mppLocalPoolDefaults[ SDRATTR_TABLE_BORDER_SHADOW - SDRATTR_START ] = new SvxShadowItem( SDRATTR_TABLE_BORDER_SHADOW );
310*cdf0e10cSrcweir     mppLocalPoolDefaults[ SDRATTR_TABLE_BORDER_TLBR - SDRATTR_START ] = new SvxLineItem( SDRATTR_TABLE_BORDER_TLBR );
311*cdf0e10cSrcweir     mppLocalPoolDefaults[ SDRATTR_TABLE_BORDER_BLTR - SDRATTR_START ] = new SvxLineItem( SDRATTR_TABLE_BORDER_BLTR );
312*cdf0e10cSrcweir 
313*cdf0e10cSrcweir 	// set own ItemInfos
314*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_SHADOW-SDRATTR_START]._nSID=SID_ATTR_FILL_SHADOW;
315*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_TEXT_FITTOSIZE-SDRATTR_START]._nSID=SID_ATTR_TEXT_FITTOSIZE;
316*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_GRAFCROP-SDRATTR_START]._nSID=SID_ATTR_GRAF_CROP;
317*cdf0e10cSrcweir 
318*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_TABLE_BORDER - SDRATTR_START ]._nSID = SID_ATTR_BORDER_OUTER;
319*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_TABLE_BORDER_INNER - SDRATTR_START ]._nSID = SID_ATTR_BORDER_INNER;
320*cdf0e10cSrcweir //	mpLocalItemInfos[SDRATTR_TABLE_BORDER_SHADOW - SDRATTR_START ]._nSID = SID_ATTR_BORDER_SHADOW;
321*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_TABLE_BORDER_TLBR - SDRATTR_START ]._nSID = SID_ATTR_BORDER_DIAG_TLBR;
322*cdf0e10cSrcweir 	mpLocalItemInfos[SDRATTR_TABLE_BORDER_BLTR - SDRATTR_START ]._nSID = SID_ATTR_BORDER_DIAG_BLTR;
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 	// it's my own creation level, set Defaults and ItemInfos
325*cdf0e10cSrcweir 	SetDefaults(mppLocalPoolDefaults);
326*cdf0e10cSrcweir 	SetItemInfos(mpLocalItemInfos);
327*cdf0e10cSrcweir }
328*cdf0e10cSrcweir 
329*cdf0e10cSrcweir /*************************************************************************
330*cdf0e10cSrcweir |*
331*cdf0e10cSrcweir |* copy ctor, sorgt dafuer, dass die static defaults gecloned werden
332*cdf0e10cSrcweir |*            (Parameter 2 = sal_True)
333*cdf0e10cSrcweir |*
334*cdf0e10cSrcweir \************************************************************************/
335*cdf0e10cSrcweir 
336*cdf0e10cSrcweir SdrItemPool::SdrItemPool(const SdrItemPool& rPool)
337*cdf0e10cSrcweir :	XOutdevItemPool(rPool)
338*cdf0e10cSrcweir {
339*cdf0e10cSrcweir }
340*cdf0e10cSrcweir 
341*cdf0e10cSrcweir /*************************************************************************
342*cdf0e10cSrcweir |*
343*cdf0e10cSrcweir |* Clone()
344*cdf0e10cSrcweir |*
345*cdf0e10cSrcweir \************************************************************************/
346*cdf0e10cSrcweir 
347*cdf0e10cSrcweir SfxItemPool* __EXPORT SdrItemPool::Clone() const
348*cdf0e10cSrcweir {
349*cdf0e10cSrcweir 	return new SdrItemPool(*this);
350*cdf0e10cSrcweir }
351*cdf0e10cSrcweir 
352*cdf0e10cSrcweir /*************************************************************************
353*cdf0e10cSrcweir |*
354*cdf0e10cSrcweir |* Destruktor
355*cdf0e10cSrcweir |*
356*cdf0e10cSrcweir \************************************************************************/
357*cdf0e10cSrcweir 
358*cdf0e10cSrcweir SdrItemPool::~SdrItemPool()
359*cdf0e10cSrcweir {
360*cdf0e10cSrcweir 	// dtor of SfxItemPool
361*cdf0e10cSrcweir 	Delete();
362*cdf0e10cSrcweir 
363*cdf0e10cSrcweir 	// clear own static Defaults
364*cdf0e10cSrcweir 	if(mppLocalPoolDefaults)
365*cdf0e10cSrcweir 	{
366*cdf0e10cSrcweir 		const sal_uInt16 nBeg(SDRATTR_SHADOW_FIRST - SDRATTR_START);
367*cdf0e10cSrcweir 		const sal_uInt16 nEnd2(SDRATTR_END - SDRATTR_START);
368*cdf0e10cSrcweir 
369*cdf0e10cSrcweir 		for(sal_uInt16 i(nBeg); i <= nEnd2; i++)
370*cdf0e10cSrcweir 		{
371*cdf0e10cSrcweir 			SetRefCount(*mppLocalPoolDefaults[i],0);
372*cdf0e10cSrcweir 			delete mppLocalPoolDefaults[i];
373*cdf0e10cSrcweir 			mppLocalPoolDefaults[i] = 0L;
374*cdf0e10cSrcweir 		}
375*cdf0e10cSrcweir 	}
376*cdf0e10cSrcweir 
377*cdf0e10cSrcweir 	// split pools before detroying
378*cdf0e10cSrcweir 	SetSecondaryPool(NULL);
379*cdf0e10cSrcweir }
380*cdf0e10cSrcweir 
381*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrItemPool::GetPresentation(
382*cdf0e10cSrcweir 			  const SfxPoolItem& rItem, SfxItemPresentation ePresentation,
383*cdf0e10cSrcweir 			  SfxMapUnit ePresentationMetric, XubString& rText,
384*cdf0e10cSrcweir               const IntlWrapper * pIntlWrapper) const
385*cdf0e10cSrcweir {
386*cdf0e10cSrcweir 	if (!IsInvalidItem(&rItem)) {
387*cdf0e10cSrcweir 		sal_uInt16 nWhich=rItem.Which();
388*cdf0e10cSrcweir 		if (nWhich>=SDRATTR_SHADOW_FIRST && nWhich<=SDRATTR_END) {
389*cdf0e10cSrcweir 			rItem.GetPresentation(SFX_ITEM_PRESENTATION_NAMELESS,
390*cdf0e10cSrcweir 						GetMetric(nWhich),ePresentationMetric,rText,
391*cdf0e10cSrcweir                         pIntlWrapper);
392*cdf0e10cSrcweir 			String aStr;
393*cdf0e10cSrcweir 
394*cdf0e10cSrcweir 			TakeItemName(nWhich, aStr);
395*cdf0e10cSrcweir 			aStr += sal_Unicode(' ');
396*cdf0e10cSrcweir 			rText.Insert(aStr, 0);
397*cdf0e10cSrcweir 
398*cdf0e10cSrcweir 			return ePresentation;
399*cdf0e10cSrcweir 		}
400*cdf0e10cSrcweir 	}
401*cdf0e10cSrcweir     return XOutdevItemPool::GetPresentation(rItem,ePresentation,ePresentationMetric,rText,pIntlWrapper);
402*cdf0e10cSrcweir }
403*cdf0e10cSrcweir 
404*cdf0e10cSrcweir void SdrItemPool::TakeItemName(sal_uInt16 nWhich, String& rItemName)
405*cdf0e10cSrcweir {
406*cdf0e10cSrcweir 	ResMgr* pResMgr = ImpGetResMgr();
407*cdf0e10cSrcweir 	sal_uInt16	nResId = SIP_UNKNOWN_ATTR;
408*cdf0e10cSrcweir 
409*cdf0e10cSrcweir 	switch (nWhich)
410*cdf0e10cSrcweir 	{
411*cdf0e10cSrcweir 		case XATTR_LINESTYLE        : nResId = SIP_XA_LINESTYLE;break;
412*cdf0e10cSrcweir 		case XATTR_LINEDASH         : nResId = SIP_XA_LINEDASH;break;
413*cdf0e10cSrcweir 		case XATTR_LINEWIDTH        : nResId = SIP_XA_LINEWIDTH;break;
414*cdf0e10cSrcweir 		case XATTR_LINECOLOR        : nResId = SIP_XA_LINECOLOR;break;
415*cdf0e10cSrcweir 		case XATTR_LINESTART        : nResId = SIP_XA_LINESTART;break;
416*cdf0e10cSrcweir 		case XATTR_LINEEND          : nResId = SIP_XA_LINEEND;break;
417*cdf0e10cSrcweir 		case XATTR_LINESTARTWIDTH   : nResId = SIP_XA_LINESTARTWIDTH;break;
418*cdf0e10cSrcweir 		case XATTR_LINEENDWIDTH     : nResId = SIP_XA_LINEENDWIDTH;break;
419*cdf0e10cSrcweir 		case XATTR_LINESTARTCENTER  : nResId = SIP_XA_LINESTARTCENTER;break;
420*cdf0e10cSrcweir 		case XATTR_LINEENDCENTER    : nResId = SIP_XA_LINEENDCENTER;break;
421*cdf0e10cSrcweir 		case XATTR_LINETRANSPARENCE : nResId = SIP_XA_LINETRANSPARENCE;break;
422*cdf0e10cSrcweir 		case XATTR_LINEJOINT		: nResId = SIP_XA_LINEJOINT;break;
423*cdf0e10cSrcweir 		case XATTRSET_LINE          : nResId = SIP_XATTRSET_LINE;break;
424*cdf0e10cSrcweir 
425*cdf0e10cSrcweir 		case XATTR_FILLSTYLE			: nResId = SIP_XA_FILLSTYLE;break;
426*cdf0e10cSrcweir 		case XATTR_FILLCOLOR			: nResId = SIP_XA_FILLCOLOR;break;
427*cdf0e10cSrcweir 		case XATTR_FILLGRADIENT			: nResId = SIP_XA_FILLGRADIENT;break;
428*cdf0e10cSrcweir 		case XATTR_FILLHATCH			: nResId = SIP_XA_FILLHATCH;break;
429*cdf0e10cSrcweir 		case XATTR_FILLBITMAP			: nResId = SIP_XA_FILLBITMAP;break;
430*cdf0e10cSrcweir 		case XATTR_FILLTRANSPARENCE		: nResId = SIP_XA_FILLTRANSPARENCE;break;
431*cdf0e10cSrcweir 		case XATTR_GRADIENTSTEPCOUNT	: nResId = SIP_XA_GRADIENTSTEPCOUNT;break;
432*cdf0e10cSrcweir 		case XATTR_FILLBMP_TILE			: nResId = SIP_XA_FILLBMP_TILE;break;
433*cdf0e10cSrcweir 		case XATTR_FILLBMP_POS			: nResId = SIP_XA_FILLBMP_POS;break;
434*cdf0e10cSrcweir 		case XATTR_FILLBMP_SIZEX		: nResId = SIP_XA_FILLBMP_SIZEX;break;
435*cdf0e10cSrcweir 		case XATTR_FILLBMP_SIZEY		: nResId = SIP_XA_FILLBMP_SIZEY;break;
436*cdf0e10cSrcweir 		case XATTR_FILLFLOATTRANSPARENCE: nResId = SIP_XA_FILLFLOATTRANSPARENCE;break;
437*cdf0e10cSrcweir 		case XATTR_SECONDARYFILLCOLOR	: nResId = SIP_XA_SECONDARYFILLCOLOR;break;
438*cdf0e10cSrcweir 		case XATTR_FILLBMP_SIZELOG		: nResId = SIP_XA_FILLBMP_SIZELOG;break;
439*cdf0e10cSrcweir 		case XATTR_FILLBMP_TILEOFFSETX	: nResId = SIP_XA_FILLBMP_TILEOFFSETX;break;
440*cdf0e10cSrcweir 		case XATTR_FILLBMP_TILEOFFSETY	: nResId = SIP_XA_FILLBMP_TILEOFFSETY;break;
441*cdf0e10cSrcweir 		case XATTR_FILLBMP_STRETCH		: nResId = SIP_XA_FILLBMP_STRETCH;break;
442*cdf0e10cSrcweir 		case XATTR_FILLBMP_POSOFFSETX	: nResId = SIP_XA_FILLBMP_POSOFFSETX;break;
443*cdf0e10cSrcweir 		case XATTR_FILLBMP_POSOFFSETY	: nResId = SIP_XA_FILLBMP_POSOFFSETY;break;
444*cdf0e10cSrcweir 		case XATTR_FILLBACKGROUND		: nResId = SIP_XA_FILLBACKGROUND;break;
445*cdf0e10cSrcweir 
446*cdf0e10cSrcweir 		case XATTRSET_FILL             : nResId = SIP_XATTRSET_FILL;break;
447*cdf0e10cSrcweir 
448*cdf0e10cSrcweir 		case XATTR_FORMTXTSTYLE     : nResId = SIP_XA_FORMTXTSTYLE;break;
449*cdf0e10cSrcweir 		case XATTR_FORMTXTADJUST    : nResId = SIP_XA_FORMTXTADJUST;break;
450*cdf0e10cSrcweir 		case XATTR_FORMTXTDISTANCE  : nResId = SIP_XA_FORMTXTDISTANCE;break;
451*cdf0e10cSrcweir 		case XATTR_FORMTXTSTART     : nResId = SIP_XA_FORMTXTSTART;break;
452*cdf0e10cSrcweir 		case XATTR_FORMTXTMIRROR    : nResId = SIP_XA_FORMTXTMIRROR;break;
453*cdf0e10cSrcweir 		case XATTR_FORMTXTOUTLINE   : nResId = SIP_XA_FORMTXTOUTLINE;break;
454*cdf0e10cSrcweir 		case XATTR_FORMTXTSHADOW    : nResId = SIP_XA_FORMTXTSHADOW;break;
455*cdf0e10cSrcweir 		case XATTR_FORMTXTSHDWCOLOR : nResId = SIP_XA_FORMTXTSHDWCOLOR;break;
456*cdf0e10cSrcweir 		case XATTR_FORMTXTSHDWXVAL  : nResId = SIP_XA_FORMTXTSHDWXVAL;break;
457*cdf0e10cSrcweir 		case XATTR_FORMTXTSHDWYVAL  : nResId = SIP_XA_FORMTXTSHDWYVAL;break;
458*cdf0e10cSrcweir 		case XATTR_FORMTXTSTDFORM   : nResId = SIP_XA_FORMTXTSTDFORM;break;
459*cdf0e10cSrcweir 		case XATTR_FORMTXTHIDEFORM  : nResId = SIP_XA_FORMTXTHIDEFORM;break;
460*cdf0e10cSrcweir 		case XATTR_FORMTXTSHDWTRANSP: nResId = SIP_XA_FORMTXTSHDWTRANSP;break;
461*cdf0e10cSrcweir 
462*cdf0e10cSrcweir 		case SDRATTR_SHADOW            : nResId = SIP_SA_SHADOW;break;
463*cdf0e10cSrcweir 		case SDRATTR_SHADOWCOLOR       : nResId = SIP_SA_SHADOWCOLOR;break;
464*cdf0e10cSrcweir 		case SDRATTR_SHADOWXDIST       : nResId = SIP_SA_SHADOWXDIST;break;
465*cdf0e10cSrcweir 		case SDRATTR_SHADOWYDIST       : nResId = SIP_SA_SHADOWYDIST;break;
466*cdf0e10cSrcweir 		case SDRATTR_SHADOWTRANSPARENCE: nResId = SIP_SA_SHADOWTRANSPARENCE;break;
467*cdf0e10cSrcweir 		case SDRATTR_SHADOW3D          : nResId = SIP_SA_SHADOW3D;break;
468*cdf0e10cSrcweir 		case SDRATTR_SHADOWPERSP       : nResId = SIP_SA_SHADOWPERSP;break;
469*cdf0e10cSrcweir 
470*cdf0e10cSrcweir 		case SDRATTR_CAPTIONTYPE      : nResId = SIP_SA_CAPTIONTYPE;break;
471*cdf0e10cSrcweir 		case SDRATTR_CAPTIONFIXEDANGLE: nResId = SIP_SA_CAPTIONFIXEDANGLE;break;
472*cdf0e10cSrcweir 		case SDRATTR_CAPTIONANGLE     : nResId = SIP_SA_CAPTIONANGLE;break;
473*cdf0e10cSrcweir 		case SDRATTR_CAPTIONGAP       : nResId = SIP_SA_CAPTIONGAP;break;
474*cdf0e10cSrcweir 		case SDRATTR_CAPTIONESCDIR    : nResId = SIP_SA_CAPTIONESCDIR;break;
475*cdf0e10cSrcweir 		case SDRATTR_CAPTIONESCISREL  : nResId = SIP_SA_CAPTIONESCISREL;break;
476*cdf0e10cSrcweir 		case SDRATTR_CAPTIONESCREL    : nResId = SIP_SA_CAPTIONESCREL;break;
477*cdf0e10cSrcweir 		case SDRATTR_CAPTIONESCABS    : nResId = SIP_SA_CAPTIONESCABS;break;
478*cdf0e10cSrcweir 		case SDRATTR_CAPTIONLINELEN   : nResId = SIP_SA_CAPTIONLINELEN;break;
479*cdf0e10cSrcweir 		case SDRATTR_CAPTIONFITLINELEN: nResId = SIP_SA_CAPTIONFITLINELEN;break;
480*cdf0e10cSrcweir 
481*cdf0e10cSrcweir 		case SDRATTR_ECKENRADIUS			: nResId = SIP_SA_ECKENRADIUS;break;
482*cdf0e10cSrcweir 		case SDRATTR_TEXT_MINFRAMEHEIGHT	: nResId = SIP_SA_TEXT_MINFRAMEHEIGHT;break;
483*cdf0e10cSrcweir 		case SDRATTR_TEXT_AUTOGROWHEIGHT	: nResId = SIP_SA_TEXT_AUTOGROWHEIGHT;break;
484*cdf0e10cSrcweir 		case SDRATTR_TEXT_FITTOSIZE			: nResId = SIP_SA_TEXT_FITTOSIZE;break;
485*cdf0e10cSrcweir 		case SDRATTR_TEXT_LEFTDIST			: nResId = SIP_SA_TEXT_LEFTDIST;break;
486*cdf0e10cSrcweir 		case SDRATTR_TEXT_RIGHTDIST			: nResId = SIP_SA_TEXT_RIGHTDIST;break;
487*cdf0e10cSrcweir 		case SDRATTR_TEXT_UPPERDIST			: nResId = SIP_SA_TEXT_UPPERDIST;break;
488*cdf0e10cSrcweir 		case SDRATTR_TEXT_LOWERDIST			: nResId = SIP_SA_TEXT_LOWERDIST;break;
489*cdf0e10cSrcweir 		case SDRATTR_TEXT_VERTADJUST		: nResId = SIP_SA_TEXT_VERTADJUST;break;
490*cdf0e10cSrcweir 		case SDRATTR_TEXT_MAXFRAMEHEIGHT	: nResId = SIP_SA_TEXT_MAXFRAMEHEIGHT;break;
491*cdf0e10cSrcweir 		case SDRATTR_TEXT_MINFRAMEWIDTH		: nResId = SIP_SA_TEXT_MINFRAMEWIDTH;break;
492*cdf0e10cSrcweir 		case SDRATTR_TEXT_MAXFRAMEWIDTH		: nResId = SIP_SA_TEXT_MAXFRAMEWIDTH;break;
493*cdf0e10cSrcweir 		case SDRATTR_TEXT_AUTOGROWWIDTH		: nResId = SIP_SA_TEXT_AUTOGROWWIDTH;break;
494*cdf0e10cSrcweir 		case SDRATTR_TEXT_HORZADJUST		: nResId = SIP_SA_TEXT_HORZADJUST;break;
495*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANIKIND			: nResId = SIP_SA_TEXT_ANIKIND;break;
496*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANIDIRECTION		: nResId = SIP_SA_TEXT_ANIDIRECTION;break;
497*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANISTARTINSIDE	: nResId = SIP_SA_TEXT_ANISTARTINSIDE;break;
498*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANISTOPINSIDE		: nResId = SIP_SA_TEXT_ANISTOPINSIDE;break;
499*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANICOUNT			: nResId = SIP_SA_TEXT_ANICOUNT;break;
500*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANIDELAY			: nResId = SIP_SA_TEXT_ANIDELAY;break;
501*cdf0e10cSrcweir 		case SDRATTR_TEXT_ANIAMOUNT			: nResId = SIP_SA_TEXT_ANIAMOUNT;break;
502*cdf0e10cSrcweir 		case SDRATTR_TEXT_CONTOURFRAME		: nResId = SIP_SA_TEXT_CONTOURFRAME;break;
503*cdf0e10cSrcweir 		case SDRATTR_CUSTOMSHAPE_ADJUSTMENT	: nResId = SIP_SA_CUSTOMSHAPE_ADJUSTMENT;break;
504*cdf0e10cSrcweir 		case SDRATTR_XMLATTRIBUTES			: nResId = SIP_SA_XMLATTRIBUTES;break;
505*cdf0e10cSrcweir 		case SDRATTR_TEXT_USEFIXEDCELLHEIGHT: nResId = SIP_SA_TEXT_USEFIXEDCELLHEIGHT;break;
506*cdf0e10cSrcweir 		case SDRATTR_TEXT_WORDWRAP			: nResId = SIP_SA_WORDWRAP;break;
507*cdf0e10cSrcweir 		case SDRATTR_TEXT_AUTOGROWSIZE		: nResId = SIP_SA_AUTOGROWSIZE;break;
508*cdf0e10cSrcweir 
509*cdf0e10cSrcweir 		case SDRATTR_EDGEKIND           : nResId = SIP_SA_EDGEKIND;break;
510*cdf0e10cSrcweir 		case SDRATTR_EDGENODE1HORZDIST  : nResId = SIP_SA_EDGENODE1HORZDIST;break;
511*cdf0e10cSrcweir 		case SDRATTR_EDGENODE1VERTDIST  : nResId = SIP_SA_EDGENODE1VERTDIST;break;
512*cdf0e10cSrcweir 		case SDRATTR_EDGENODE2HORZDIST  : nResId = SIP_SA_EDGENODE2HORZDIST;break;
513*cdf0e10cSrcweir 		case SDRATTR_EDGENODE2VERTDIST  : nResId = SIP_SA_EDGENODE2VERTDIST;break;
514*cdf0e10cSrcweir 		case SDRATTR_EDGENODE1GLUEDIST  : nResId = SIP_SA_EDGENODE1GLUEDIST;break;
515*cdf0e10cSrcweir 		case SDRATTR_EDGENODE2GLUEDIST  : nResId = SIP_SA_EDGENODE2GLUEDIST;break;
516*cdf0e10cSrcweir 		case SDRATTR_EDGELINEDELTAANZ   : nResId = SIP_SA_EDGELINEDELTAANZ;break;
517*cdf0e10cSrcweir 		case SDRATTR_EDGELINE1DELTA     : nResId = SIP_SA_EDGELINE1DELTA;break;
518*cdf0e10cSrcweir 		case SDRATTR_EDGELINE2DELTA     : nResId = SIP_SA_EDGELINE2DELTA;break;
519*cdf0e10cSrcweir 		case SDRATTR_EDGELINE3DELTA     : nResId = SIP_SA_EDGELINE3DELTA;break;
520*cdf0e10cSrcweir 
521*cdf0e10cSrcweir 		case SDRATTR_MEASUREKIND             : nResId = SIP_SA_MEASUREKIND;break;
522*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTHPOS         : nResId = SIP_SA_MEASURETEXTHPOS;break;
523*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTVPOS         : nResId = SIP_SA_MEASURETEXTVPOS;break;
524*cdf0e10cSrcweir 		case SDRATTR_MEASURELINEDIST         : nResId = SIP_SA_MEASURELINEDIST;break;
525*cdf0e10cSrcweir 		case SDRATTR_MEASUREHELPLINEOVERHANG : nResId = SIP_SA_MEASUREHELPLINEOVERHANG;break;
526*cdf0e10cSrcweir 		case SDRATTR_MEASUREHELPLINEDIST     : nResId = SIP_SA_MEASUREHELPLINEDIST;break;
527*cdf0e10cSrcweir 		case SDRATTR_MEASUREHELPLINE1LEN     : nResId = SIP_SA_MEASUREHELPLINE1LEN;break;
528*cdf0e10cSrcweir 		case SDRATTR_MEASUREHELPLINE2LEN     : nResId = SIP_SA_MEASUREHELPLINE2LEN;break;
529*cdf0e10cSrcweir 		case SDRATTR_MEASUREBELOWREFEDGE     : nResId = SIP_SA_MEASUREBELOWREFEDGE;break;
530*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTROTA90       : nResId = SIP_SA_MEASURETEXTROTA90;break;
531*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTUPSIDEDOWN   : nResId = SIP_SA_MEASURETEXTUPSIDEDOWN;break;
532*cdf0e10cSrcweir 		case SDRATTR_MEASUREOVERHANG         : nResId = SIP_SA_MEASUREOVERHANG;break;
533*cdf0e10cSrcweir 		case SDRATTR_MEASUREUNIT             : nResId = SIP_SA_MEASUREUNIT;break;
534*cdf0e10cSrcweir 		case SDRATTR_MEASURESCALE            : nResId = SIP_SA_MEASURESCALE;break;
535*cdf0e10cSrcweir 		case SDRATTR_MEASURESHOWUNIT         : nResId = SIP_SA_MEASURESHOWUNIT;break;
536*cdf0e10cSrcweir 		case SDRATTR_MEASUREFORMATSTRING     : nResId = SIP_SA_MEASUREFORMATSTRING;break;
537*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTAUTOANGLE    : nResId = SIP_SA_MEASURETEXTAUTOANGLE;break;
538*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTAUTOANGLEVIEW: nResId = SIP_SA_MEASURETEXTAUTOANGLEVIEW;break;
539*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTISFIXEDANGLE : nResId = SIP_SA_MEASURETEXTISFIXEDANGLE;break;
540*cdf0e10cSrcweir 		case SDRATTR_MEASURETEXTFIXEDANGLE   : nResId = SIP_SA_MEASURETEXTFIXEDANGLE;break;
541*cdf0e10cSrcweir 		case SDRATTR_MEASUREDECIMALPLACES    : nResId = SIP_SA_MEASUREDECIMALPLACES;break;
542*cdf0e10cSrcweir 
543*cdf0e10cSrcweir 		case SDRATTR_CIRCKIND      : nResId = SIP_SA_CIRCKIND;break;
544*cdf0e10cSrcweir 		case SDRATTR_CIRCSTARTANGLE: nResId = SIP_SA_CIRCSTARTANGLE;break;
545*cdf0e10cSrcweir 		case SDRATTR_CIRCENDANGLE  : nResId = SIP_SA_CIRCENDANGLE;break;
546*cdf0e10cSrcweir 
547*cdf0e10cSrcweir 		case SDRATTR_OBJMOVEPROTECT : nResId = SIP_SA_OBJMOVEPROTECT;break;
548*cdf0e10cSrcweir 		case SDRATTR_OBJSIZEPROTECT : nResId = SIP_SA_OBJSIZEPROTECT;break;
549*cdf0e10cSrcweir 		case SDRATTR_OBJPRINTABLE   : nResId = SIP_SA_OBJPRINTABLE;break;
550*cdf0e10cSrcweir 		case SDRATTR_OBJVISIBLE		: nResId = SIP_SA_OBJVISIBLE;break;
551*cdf0e10cSrcweir 		case SDRATTR_LAYERID        : nResId = SIP_SA_LAYERID;break;
552*cdf0e10cSrcweir 		case SDRATTR_LAYERNAME      : nResId = SIP_SA_LAYERNAME;break;
553*cdf0e10cSrcweir 		case SDRATTR_OBJECTNAME     : nResId = SIP_SA_OBJECTNAME;break;
554*cdf0e10cSrcweir 		case SDRATTR_ALLPOSITIONX   : nResId = SIP_SA_ALLPOSITIONX;break;
555*cdf0e10cSrcweir 		case SDRATTR_ALLPOSITIONY   : nResId = SIP_SA_ALLPOSITIONY;break;
556*cdf0e10cSrcweir 		case SDRATTR_ALLSIZEWIDTH   : nResId = SIP_SA_ALLSIZEWIDTH;break;
557*cdf0e10cSrcweir 		case SDRATTR_ALLSIZEHEIGHT  : nResId = SIP_SA_ALLSIZEHEIGHT;break;
558*cdf0e10cSrcweir 		case SDRATTR_ONEPOSITIONX   : nResId = SIP_SA_ONEPOSITIONX;break;
559*cdf0e10cSrcweir 		case SDRATTR_ONEPOSITIONY   : nResId = SIP_SA_ONEPOSITIONY;break;
560*cdf0e10cSrcweir 		case SDRATTR_ONESIZEWIDTH   : nResId = SIP_SA_ONESIZEWIDTH;break;
561*cdf0e10cSrcweir 		case SDRATTR_ONESIZEHEIGHT  : nResId = SIP_SA_ONESIZEHEIGHT;break;
562*cdf0e10cSrcweir 		case SDRATTR_LOGICSIZEWIDTH : nResId = SIP_SA_LOGICSIZEWIDTH;break;
563*cdf0e10cSrcweir 		case SDRATTR_LOGICSIZEHEIGHT: nResId = SIP_SA_LOGICSIZEHEIGHT;break;
564*cdf0e10cSrcweir 		case SDRATTR_ROTATEANGLE    : nResId = SIP_SA_ROTATEANGLE;break;
565*cdf0e10cSrcweir 		case SDRATTR_SHEARANGLE     : nResId = SIP_SA_SHEARANGLE;break;
566*cdf0e10cSrcweir 		case SDRATTR_MOVEX          : nResId = SIP_SA_MOVEX;break;
567*cdf0e10cSrcweir 		case SDRATTR_MOVEY          : nResId = SIP_SA_MOVEY;break;
568*cdf0e10cSrcweir 		case SDRATTR_RESIZEXONE     : nResId = SIP_SA_RESIZEXONE;break;
569*cdf0e10cSrcweir 		case SDRATTR_RESIZEYONE     : nResId = SIP_SA_RESIZEYONE;break;
570*cdf0e10cSrcweir 		case SDRATTR_ROTATEONE      : nResId = SIP_SA_ROTATEONE;break;
571*cdf0e10cSrcweir 		case SDRATTR_HORZSHEARONE   : nResId = SIP_SA_HORZSHEARONE;break;
572*cdf0e10cSrcweir 		case SDRATTR_VERTSHEARONE   : nResId = SIP_SA_VERTSHEARONE;break;
573*cdf0e10cSrcweir 		case SDRATTR_RESIZEXALL     : nResId = SIP_SA_RESIZEXALL;break;
574*cdf0e10cSrcweir 		case SDRATTR_RESIZEYALL     : nResId = SIP_SA_RESIZEYALL;break;
575*cdf0e10cSrcweir 		case SDRATTR_ROTATEALL      : nResId = SIP_SA_ROTATEALL;break;
576*cdf0e10cSrcweir 		case SDRATTR_HORZSHEARALL   : nResId = SIP_SA_HORZSHEARALL;break;
577*cdf0e10cSrcweir 		case SDRATTR_VERTSHEARALL   : nResId = SIP_SA_VERTSHEARALL;break;
578*cdf0e10cSrcweir 		case SDRATTR_TRANSFORMREF1X : nResId = SIP_SA_TRANSFORMREF1X;break;
579*cdf0e10cSrcweir 		case SDRATTR_TRANSFORMREF1Y : nResId = SIP_SA_TRANSFORMREF1Y;break;
580*cdf0e10cSrcweir 		case SDRATTR_TRANSFORMREF2X : nResId = SIP_SA_TRANSFORMREF2X;break;
581*cdf0e10cSrcweir 		case SDRATTR_TRANSFORMREF2Y : nResId = SIP_SA_TRANSFORMREF2Y;break;
582*cdf0e10cSrcweir 
583*cdf0e10cSrcweir 		case SDRATTR_GRAFRED			: nResId = SIP_SA_GRAFRED;break;
584*cdf0e10cSrcweir 		case SDRATTR_GRAFGREEN			: nResId = SIP_SA_GRAFGREEN;break;
585*cdf0e10cSrcweir 		case SDRATTR_GRAFBLUE			: nResId = SIP_SA_GRAFBLUE;break;
586*cdf0e10cSrcweir 		case SDRATTR_GRAFLUMINANCE		: nResId = SIP_SA_GRAFLUMINANCE;break;
587*cdf0e10cSrcweir 		case SDRATTR_GRAFCONTRAST		: nResId = SIP_SA_GRAFCONTRAST;break;
588*cdf0e10cSrcweir 		case SDRATTR_GRAFGAMMA			: nResId = SIP_SA_GRAFGAMMA;break;
589*cdf0e10cSrcweir 		case SDRATTR_GRAFTRANSPARENCE	: nResId = SIP_SA_GRAFTRANSPARENCE;break;
590*cdf0e10cSrcweir 		case SDRATTR_GRAFINVERT 		: nResId = SIP_SA_GRAFINVERT;break;
591*cdf0e10cSrcweir 		case SDRATTR_GRAFMODE			: nResId = SIP_SA_GRAFMODE;break;
592*cdf0e10cSrcweir 		case SDRATTR_GRAFCROP			: nResId = SIP_SA_GRAFCROP;break;
593*cdf0e10cSrcweir 
594*cdf0e10cSrcweir 		case EE_PARA_HYPHENATE  : nResId = SIP_EE_PARA_HYPHENATE;break;
595*cdf0e10cSrcweir 		case EE_PARA_BULLETSTATE: nResId = SIP_EE_PARA_BULLETSTATE;break;
596*cdf0e10cSrcweir 		case EE_PARA_OUTLLRSPACE: nResId = SIP_EE_PARA_OUTLLRSPACE;break;
597*cdf0e10cSrcweir 		case EE_PARA_OUTLLEVEL  : nResId = SIP_EE_PARA_OUTLLEVEL;break;
598*cdf0e10cSrcweir 		case EE_PARA_BULLET     : nResId = SIP_EE_PARA_BULLET;break;
599*cdf0e10cSrcweir 		case EE_PARA_LRSPACE    : nResId = SIP_EE_PARA_LRSPACE;break;
600*cdf0e10cSrcweir 		case EE_PARA_ULSPACE    : nResId = SIP_EE_PARA_ULSPACE;break;
601*cdf0e10cSrcweir 		case EE_PARA_SBL        : nResId = SIP_EE_PARA_SBL;break;
602*cdf0e10cSrcweir 		case EE_PARA_JUST       : nResId = SIP_EE_PARA_JUST;break;
603*cdf0e10cSrcweir 		case EE_PARA_TABS       : nResId = SIP_EE_PARA_TABS;break;
604*cdf0e10cSrcweir 
605*cdf0e10cSrcweir 		case EE_CHAR_COLOR      : nResId = SIP_EE_CHAR_COLOR;break;
606*cdf0e10cSrcweir 		case EE_CHAR_FONTINFO   : nResId = SIP_EE_CHAR_FONTINFO;break;
607*cdf0e10cSrcweir 		case EE_CHAR_FONTHEIGHT : nResId = SIP_EE_CHAR_FONTHEIGHT;break;
608*cdf0e10cSrcweir 		case EE_CHAR_FONTWIDTH  : nResId = SIP_EE_CHAR_FONTWIDTH;break;
609*cdf0e10cSrcweir 		case EE_CHAR_WEIGHT     : nResId = SIP_EE_CHAR_WEIGHT;break;
610*cdf0e10cSrcweir 		case EE_CHAR_UNDERLINE  : nResId = SIP_EE_CHAR_UNDERLINE;break;
611*cdf0e10cSrcweir 		case EE_CHAR_OVERLINE   : nResId = SIP_EE_CHAR_OVERLINE;break;
612*cdf0e10cSrcweir 		case EE_CHAR_STRIKEOUT  : nResId = SIP_EE_CHAR_STRIKEOUT;break;
613*cdf0e10cSrcweir 		case EE_CHAR_ITALIC     : nResId = SIP_EE_CHAR_ITALIC;break;
614*cdf0e10cSrcweir 		case EE_CHAR_OUTLINE    : nResId = SIP_EE_CHAR_OUTLINE;break;
615*cdf0e10cSrcweir 		case EE_CHAR_SHADOW     : nResId = SIP_EE_CHAR_SHADOW;break;
616*cdf0e10cSrcweir 		case EE_CHAR_ESCAPEMENT : nResId = SIP_EE_CHAR_ESCAPEMENT;break;
617*cdf0e10cSrcweir 		case EE_CHAR_PAIRKERNING: nResId = SIP_EE_CHAR_PAIRKERNING;break;
618*cdf0e10cSrcweir 		case EE_CHAR_KERNING    : nResId = SIP_EE_CHAR_KERNING;break;
619*cdf0e10cSrcweir 		case EE_CHAR_WLM        : nResId = SIP_EE_CHAR_WLM;break;
620*cdf0e10cSrcweir 		case EE_FEATURE_TAB     : nResId = SIP_EE_FEATURE_TAB;break;
621*cdf0e10cSrcweir 		case EE_FEATURE_LINEBR  : nResId = SIP_EE_FEATURE_LINEBR;break;
622*cdf0e10cSrcweir 		case EE_FEATURE_NOTCONV : nResId = SIP_EE_FEATURE_NOTCONV;break;
623*cdf0e10cSrcweir 		case EE_FEATURE_FIELD   : nResId = SIP_EE_FEATURE_FIELD;break;
624*cdf0e10cSrcweir 	} // switch
625*cdf0e10cSrcweir 
626*cdf0e10cSrcweir 	rItemName = String( ResId( nResId, *pResMgr ) );
627*cdf0e10cSrcweir }
628*cdf0e10cSrcweir 
629*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
630*cdf0e10cSrcweir // FractionItem
631*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
632*cdf0e10cSrcweir 
633*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrFractionItem,SfxPoolItem);
634*cdf0e10cSrcweir 
635*cdf0e10cSrcweir SdrFractionItem::SdrFractionItem(sal_uInt16 nId, SvStream& rIn):
636*cdf0e10cSrcweir 	SfxPoolItem(nId)
637*cdf0e10cSrcweir {
638*cdf0e10cSrcweir 	sal_Int32 nMul,nDiv;
639*cdf0e10cSrcweir 	rIn>>nMul;
640*cdf0e10cSrcweir 	rIn>>nDiv;
641*cdf0e10cSrcweir 	nValue=Fraction(nMul,nDiv);
642*cdf0e10cSrcweir }
643*cdf0e10cSrcweir 
644*cdf0e10cSrcweir int __EXPORT SdrFractionItem::operator==(const SfxPoolItem& rCmp) const
645*cdf0e10cSrcweir {
646*cdf0e10cSrcweir 	return SfxPoolItem::operator==(rCmp) &&
647*cdf0e10cSrcweir 		   ((SdrFractionItem&)rCmp).GetValue()==nValue;
648*cdf0e10cSrcweir }
649*cdf0e10cSrcweir 
650*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrFractionItem::GetPresentation(
651*cdf0e10cSrcweir 	SfxItemPresentation ePresentation, SfxMapUnit /*eCoreMetric*/,
652*cdf0e10cSrcweir     SfxMapUnit /*ePresentationMetric*/, XubString &rText, const IntlWrapper *) const
653*cdf0e10cSrcweir {
654*cdf0e10cSrcweir 	if(nValue.IsValid())
655*cdf0e10cSrcweir 	{
656*cdf0e10cSrcweir 		sal_Int32 nDiv = nValue.GetDenominator();
657*cdf0e10cSrcweir 		rText = UniString::CreateFromInt32(nValue.GetNumerator());
658*cdf0e10cSrcweir 
659*cdf0e10cSrcweir 		if(nDiv != 1)
660*cdf0e10cSrcweir 		{
661*cdf0e10cSrcweir 			rText += sal_Unicode('/');
662*cdf0e10cSrcweir 			rText += UniString::CreateFromInt32(nDiv);
663*cdf0e10cSrcweir 		}
664*cdf0e10cSrcweir 	}
665*cdf0e10cSrcweir 	else
666*cdf0e10cSrcweir 	{
667*cdf0e10cSrcweir 		rText = UniString();
668*cdf0e10cSrcweir 		rText += sal_Unicode('?');
669*cdf0e10cSrcweir 	}
670*cdf0e10cSrcweir 
671*cdf0e10cSrcweir 	if(ePresentation == SFX_ITEM_PRESENTATION_COMPLETE)
672*cdf0e10cSrcweir 	{
673*cdf0e10cSrcweir 		XubString aStr;
674*cdf0e10cSrcweir 
675*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
676*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
677*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
678*cdf0e10cSrcweir 	}
679*cdf0e10cSrcweir 
680*cdf0e10cSrcweir 	return ePresentation;
681*cdf0e10cSrcweir }
682*cdf0e10cSrcweir 
683*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrFractionItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
684*cdf0e10cSrcweir {
685*cdf0e10cSrcweir 	return new SdrFractionItem(Which(),rIn);
686*cdf0e10cSrcweir }
687*cdf0e10cSrcweir 
688*cdf0e10cSrcweir SvStream& __EXPORT SdrFractionItem::Store(SvStream& rOut, sal_uInt16 /*nItemVers*/) const
689*cdf0e10cSrcweir {
690*cdf0e10cSrcweir 	rOut<<sal_Int32(nValue.GetNumerator());
691*cdf0e10cSrcweir 	rOut<<sal_Int32(nValue.GetDenominator());
692*cdf0e10cSrcweir 	return rOut;
693*cdf0e10cSrcweir }
694*cdf0e10cSrcweir 
695*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrFractionItem::Clone(SfxItemPool * /*pPool*/) const
696*cdf0e10cSrcweir {
697*cdf0e10cSrcweir 	return new SdrFractionItem(Which(),GetValue());
698*cdf0e10cSrcweir }
699*cdf0e10cSrcweir 
700*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
701*cdf0e10cSrcweir int __EXPORT SdrFractionItem::IsPoolable() const
702*cdf0e10cSrcweir {
703*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
704*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
705*cdf0e10cSrcweir }
706*cdf0e10cSrcweir #endif
707*cdf0e10cSrcweir 
708*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
709*cdf0e10cSrcweir // ScaleItem
710*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
711*cdf0e10cSrcweir 
712*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrScaleItem,SdrFractionItem);
713*cdf0e10cSrcweir 
714*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrScaleItem::GetPresentation(
715*cdf0e10cSrcweir 	SfxItemPresentation ePresentation, SfxMapUnit /*eCoreMetric*/,
716*cdf0e10cSrcweir     SfxMapUnit /*ePresentationMetric*/, XubString &rText, const IntlWrapper *) const
717*cdf0e10cSrcweir {
718*cdf0e10cSrcweir 	if(GetValue().IsValid())
719*cdf0e10cSrcweir 	{
720*cdf0e10cSrcweir 		sal_Int32 nDiv = GetValue().GetDenominator();
721*cdf0e10cSrcweir 
722*cdf0e10cSrcweir 		rText = UniString::CreateFromInt32(GetValue().GetNumerator());
723*cdf0e10cSrcweir 		rText += sal_Unicode(':');
724*cdf0e10cSrcweir 		rText += UniString::CreateFromInt32(nDiv);
725*cdf0e10cSrcweir 	}
726*cdf0e10cSrcweir 	else
727*cdf0e10cSrcweir 	{
728*cdf0e10cSrcweir 		rText = UniString();
729*cdf0e10cSrcweir 		rText += sal_Unicode('?');
730*cdf0e10cSrcweir 	}
731*cdf0e10cSrcweir 
732*cdf0e10cSrcweir 	if(ePresentation == SFX_ITEM_PRESENTATION_COMPLETE)
733*cdf0e10cSrcweir 	{
734*cdf0e10cSrcweir 		XubString aStr;
735*cdf0e10cSrcweir 
736*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
737*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
738*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
739*cdf0e10cSrcweir 	}
740*cdf0e10cSrcweir 
741*cdf0e10cSrcweir 	return ePresentation;
742*cdf0e10cSrcweir }
743*cdf0e10cSrcweir 
744*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrScaleItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
745*cdf0e10cSrcweir {
746*cdf0e10cSrcweir 	return new SdrScaleItem(Which(),rIn);
747*cdf0e10cSrcweir }
748*cdf0e10cSrcweir 
749*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrScaleItem::Clone(SfxItemPool * /*pPool*/) const
750*cdf0e10cSrcweir {
751*cdf0e10cSrcweir 	return new SdrScaleItem(Which(),GetValue());
752*cdf0e10cSrcweir }
753*cdf0e10cSrcweir 
754*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
755*cdf0e10cSrcweir // OnOffItem
756*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
757*cdf0e10cSrcweir 
758*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrOnOffItem,SfxBoolItem);
759*cdf0e10cSrcweir 
760*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrOnOffItem::Clone(SfxItemPool* /*pPool*/) const
761*cdf0e10cSrcweir {
762*cdf0e10cSrcweir 	return new SdrOnOffItem(Which(),GetValue());
763*cdf0e10cSrcweir }
764*cdf0e10cSrcweir 
765*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrOnOffItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
766*cdf0e10cSrcweir {
767*cdf0e10cSrcweir 	return new SdrOnOffItem(Which(),rIn);
768*cdf0e10cSrcweir }
769*cdf0e10cSrcweir 
770*cdf0e10cSrcweir XubString __EXPORT SdrOnOffItem::GetValueTextByVal(sal_Bool bVal) const
771*cdf0e10cSrcweir {
772*cdf0e10cSrcweir 	if (bVal) return ImpGetResStr(STR_ItemValON);
773*cdf0e10cSrcweir 	else return ImpGetResStr(STR_ItemValOFF);
774*cdf0e10cSrcweir }
775*cdf0e10cSrcweir 
776*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrOnOffItem::GetPresentation(SfxItemPresentation ePres,
777*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
778*cdf0e10cSrcweir {
779*cdf0e10cSrcweir 	rText=GetValueTextByVal(GetValue());
780*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
781*cdf0e10cSrcweir 		String aStr;
782*cdf0e10cSrcweir 
783*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
784*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
785*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
786*cdf0e10cSrcweir 	}
787*cdf0e10cSrcweir 	return ePres;
788*cdf0e10cSrcweir }
789*cdf0e10cSrcweir 
790*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
791*cdf0e10cSrcweir int __EXPORT SdrOnOffItem::IsPoolable() const
792*cdf0e10cSrcweir {
793*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
794*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
795*cdf0e10cSrcweir }
796*cdf0e10cSrcweir #endif
797*cdf0e10cSrcweir 
798*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrYesNoItem,SfxBoolItem);
799*cdf0e10cSrcweir 
800*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrYesNoItem::Clone(SfxItemPool* /*pPool*/) const
801*cdf0e10cSrcweir {
802*cdf0e10cSrcweir 	return new SdrYesNoItem(Which(),GetValue());
803*cdf0e10cSrcweir }
804*cdf0e10cSrcweir 
805*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrYesNoItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
806*cdf0e10cSrcweir {
807*cdf0e10cSrcweir 	return new SdrYesNoItem(Which(),rIn);
808*cdf0e10cSrcweir }
809*cdf0e10cSrcweir 
810*cdf0e10cSrcweir XubString __EXPORT SdrYesNoItem::GetValueTextByVal(sal_Bool bVal) const
811*cdf0e10cSrcweir {
812*cdf0e10cSrcweir 	if (bVal) return ImpGetResStr(STR_ItemValYES);
813*cdf0e10cSrcweir 	else return ImpGetResStr(STR_ItemValNO);
814*cdf0e10cSrcweir }
815*cdf0e10cSrcweir 
816*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrYesNoItem::GetPresentation(SfxItemPresentation ePres,
817*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
818*cdf0e10cSrcweir {
819*cdf0e10cSrcweir 	rText=GetValueTextByVal(GetValue());
820*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
821*cdf0e10cSrcweir 		String aStr;
822*cdf0e10cSrcweir 
823*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
824*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
825*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
826*cdf0e10cSrcweir 	}
827*cdf0e10cSrcweir 	return ePres;
828*cdf0e10cSrcweir }
829*cdf0e10cSrcweir 
830*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
831*cdf0e10cSrcweir int __EXPORT SdrYesNoItem::IsPoolable() const
832*cdf0e10cSrcweir {
833*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
834*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
835*cdf0e10cSrcweir }
836*cdf0e10cSrcweir #endif
837*cdf0e10cSrcweir 
838*cdf0e10cSrcweir //------------------------------------------------------------
839*cdf0e10cSrcweir // class SdrPercentItem
840*cdf0e10cSrcweir //------------------------------------------------------------
841*cdf0e10cSrcweir 
842*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrPercentItem,SfxUInt16Item);
843*cdf0e10cSrcweir 
844*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrPercentItem::Clone(SfxItemPool* /*pPool*/) const
845*cdf0e10cSrcweir {
846*cdf0e10cSrcweir 	return new SdrPercentItem(Which(),GetValue());
847*cdf0e10cSrcweir }
848*cdf0e10cSrcweir 
849*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrPercentItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
850*cdf0e10cSrcweir {
851*cdf0e10cSrcweir 	return new SdrPercentItem(Which(),rIn);
852*cdf0e10cSrcweir }
853*cdf0e10cSrcweir 
854*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrPercentItem::GetPresentation(
855*cdf0e10cSrcweir 	SfxItemPresentation ePres, SfxMapUnit /*eCoreMetric*/,
856*cdf0e10cSrcweir     SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
857*cdf0e10cSrcweir {
858*cdf0e10cSrcweir 	rText = UniString::CreateFromInt32(GetValue());
859*cdf0e10cSrcweir 	rText += sal_Unicode('%');
860*cdf0e10cSrcweir 
861*cdf0e10cSrcweir 	if(ePres == SFX_ITEM_PRESENTATION_COMPLETE)
862*cdf0e10cSrcweir 	{
863*cdf0e10cSrcweir 		XubString aStr;
864*cdf0e10cSrcweir 
865*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
866*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
867*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
868*cdf0e10cSrcweir 	}
869*cdf0e10cSrcweir 
870*cdf0e10cSrcweir 	return ePres;
871*cdf0e10cSrcweir }
872*cdf0e10cSrcweir 
873*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
874*cdf0e10cSrcweir int __EXPORT SdrPercentItem::IsPoolable() const
875*cdf0e10cSrcweir {
876*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
877*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
878*cdf0e10cSrcweir }
879*cdf0e10cSrcweir #endif
880*cdf0e10cSrcweir 
881*cdf0e10cSrcweir //------------------------------------------------------------
882*cdf0e10cSrcweir // class SdrAngleItem
883*cdf0e10cSrcweir //------------------------------------------------------------
884*cdf0e10cSrcweir 
885*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrAngleItem,SfxInt32Item);
886*cdf0e10cSrcweir 
887*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrAngleItem::Clone(SfxItemPool* /*pPool*/) const
888*cdf0e10cSrcweir {
889*cdf0e10cSrcweir 	return new SdrAngleItem(Which(),GetValue());
890*cdf0e10cSrcweir }
891*cdf0e10cSrcweir 
892*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrAngleItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
893*cdf0e10cSrcweir {
894*cdf0e10cSrcweir 	return new SdrAngleItem(Which(),rIn);
895*cdf0e10cSrcweir }
896*cdf0e10cSrcweir 
897*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrAngleItem::GetPresentation(
898*cdf0e10cSrcweir 	SfxItemPresentation ePres, SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
899*cdf0e10cSrcweir     XubString& rText, const IntlWrapper * pIntlWrapper) const
900*cdf0e10cSrcweir {
901*cdf0e10cSrcweir 	sal_Int32 nValue(GetValue());
902*cdf0e10cSrcweir 	sal_Bool bNeg(nValue < 0);
903*cdf0e10cSrcweir 
904*cdf0e10cSrcweir 	if(bNeg)
905*cdf0e10cSrcweir 		nValue = -nValue;
906*cdf0e10cSrcweir 
907*cdf0e10cSrcweir 	rText = UniString::CreateFromInt32(nValue);
908*cdf0e10cSrcweir 
909*cdf0e10cSrcweir 	if(nValue)
910*cdf0e10cSrcweir 	{
911*cdf0e10cSrcweir 		sal_Unicode aUnicodeNull('0');
912*cdf0e10cSrcweir 		xub_StrLen nAnz(2);
913*cdf0e10cSrcweir 
914*cdf0e10cSrcweir         const IntlWrapper* pMyIntlWrapper = NULL;
915*cdf0e10cSrcweir //        DBG_ASSERT( pIntlWrapper, "SdrAngleItem::GetPresentation: using default App-IntlWrapper" );
916*cdf0e10cSrcweir         if(!pIntlWrapper)
917*cdf0e10cSrcweir             pIntlWrapper = pMyIntlWrapper = new IntlWrapper(
918*cdf0e10cSrcweir                 ::comphelper::getProcessServiceFactory(),
919*cdf0e10cSrcweir                 Application::GetSettings().GetLanguage() );
920*cdf0e10cSrcweir 
921*cdf0e10cSrcweir         if(pIntlWrapper->getLocaleData()->isNumLeadingZero())
922*cdf0e10cSrcweir 			nAnz++;
923*cdf0e10cSrcweir 
924*cdf0e10cSrcweir 		while(rText.Len() < nAnz)
925*cdf0e10cSrcweir 			rText.Insert(aUnicodeNull, 0);
926*cdf0e10cSrcweir 
927*cdf0e10cSrcweir 		xub_StrLen nLen = rText.Len();
928*cdf0e10cSrcweir 		sal_Bool bNull1(rText.GetChar(nLen-1) == aUnicodeNull);
929*cdf0e10cSrcweir 		sal_Bool bNull2(bNull1 && rText.GetChar(nLen-2) == aUnicodeNull);
930*cdf0e10cSrcweir 
931*cdf0e10cSrcweir 		if(bNull2)
932*cdf0e10cSrcweir 		{
933*cdf0e10cSrcweir 			// keine Nachkommastellen
934*cdf0e10cSrcweir 			rText.Erase(nLen-2);
935*cdf0e10cSrcweir 		}
936*cdf0e10cSrcweir 		else
937*cdf0e10cSrcweir 		{
938*cdf0e10cSrcweir             sal_Unicode cDec =
939*cdf0e10cSrcweir                 pIntlWrapper->getLocaleData()->getNumDecimalSep().GetChar(0);
940*cdf0e10cSrcweir 			rText.Insert(cDec, nLen-2);
941*cdf0e10cSrcweir 
942*cdf0e10cSrcweir 			if(bNull1)
943*cdf0e10cSrcweir 				rText.Erase(nLen);
944*cdf0e10cSrcweir 		}
945*cdf0e10cSrcweir 
946*cdf0e10cSrcweir 		if(bNeg)
947*cdf0e10cSrcweir 			rText.Insert(sal_Unicode('-'), 0);
948*cdf0e10cSrcweir 
949*cdf0e10cSrcweir         if ( pMyIntlWrapper )
950*cdf0e10cSrcweir         {
951*cdf0e10cSrcweir             delete pMyIntlWrapper;
952*cdf0e10cSrcweir             pIntlWrapper = NULL;
953*cdf0e10cSrcweir         }
954*cdf0e10cSrcweir 	}
955*cdf0e10cSrcweir 
956*cdf0e10cSrcweir 	rText += sal_Unicode(DEGREE_CHAR);
957*cdf0e10cSrcweir 
958*cdf0e10cSrcweir 	if(ePres == SFX_ITEM_PRESENTATION_COMPLETE)
959*cdf0e10cSrcweir 	{
960*cdf0e10cSrcweir 		XubString aStr;
961*cdf0e10cSrcweir 
962*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
963*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
964*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
965*cdf0e10cSrcweir 	}
966*cdf0e10cSrcweir 
967*cdf0e10cSrcweir 	return ePres;
968*cdf0e10cSrcweir }
969*cdf0e10cSrcweir 
970*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
971*cdf0e10cSrcweir int __EXPORT SdrAngleItem::IsPoolable() const
972*cdf0e10cSrcweir {
973*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
974*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
975*cdf0e10cSrcweir }
976*cdf0e10cSrcweir #endif
977*cdf0e10cSrcweir 
978*cdf0e10cSrcweir //------------------------------------------------------------
979*cdf0e10cSrcweir // class SdrMetricItem
980*cdf0e10cSrcweir //------------------------------------------------------------
981*cdf0e10cSrcweir 
982*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrMetricItem,SfxInt32Item);
983*cdf0e10cSrcweir 
984*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMetricItem::Clone(SfxItemPool* /*pPool*/) const
985*cdf0e10cSrcweir {
986*cdf0e10cSrcweir 	return new SdrMetricItem(Which(),GetValue());
987*cdf0e10cSrcweir }
988*cdf0e10cSrcweir 
989*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMetricItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const
990*cdf0e10cSrcweir {
991*cdf0e10cSrcweir 	return new SdrMetricItem(Which(),rIn);
992*cdf0e10cSrcweir }
993*cdf0e10cSrcweir 
994*cdf0e10cSrcweir FASTBOOL __EXPORT SdrMetricItem::HasMetrics() const
995*cdf0e10cSrcweir {
996*cdf0e10cSrcweir 	return sal_True;
997*cdf0e10cSrcweir }
998*cdf0e10cSrcweir 
999*cdf0e10cSrcweir FASTBOOL __EXPORT SdrMetricItem::ScaleMetrics(long nMul, long nDiv)
1000*cdf0e10cSrcweir {
1001*cdf0e10cSrcweir 	if (GetValue()!=0) {
1002*cdf0e10cSrcweir 		BigInt aVal(GetValue());
1003*cdf0e10cSrcweir 		aVal*=nMul;
1004*cdf0e10cSrcweir 		aVal+=nDiv/2; // fuer korrektes Runden
1005*cdf0e10cSrcweir 		aVal/=nDiv;
1006*cdf0e10cSrcweir 		SetValue(long(aVal));
1007*cdf0e10cSrcweir 	}
1008*cdf0e10cSrcweir 	return sal_True;
1009*cdf0e10cSrcweir }
1010*cdf0e10cSrcweir 
1011*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrMetricItem::GetPresentation(SfxItemPresentation ePres,
1012*cdf0e10cSrcweir                       SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, XubString& rText, const IntlWrapper *) const
1013*cdf0e10cSrcweir {
1014*cdf0e10cSrcweir 	long nValue=GetValue();
1015*cdf0e10cSrcweir 	SdrFormatter aFmt((MapUnit)eCoreMetric,(MapUnit)ePresMetric);
1016*cdf0e10cSrcweir 	aFmt.TakeStr(nValue,rText);
1017*cdf0e10cSrcweir 	String aStr;
1018*cdf0e10cSrcweir 	aFmt.TakeUnitStr((MapUnit)ePresMetric,aStr);
1019*cdf0e10cSrcweir 	rText+=aStr;
1020*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1021*cdf0e10cSrcweir 		String aStr2;
1022*cdf0e10cSrcweir 
1023*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr2);
1024*cdf0e10cSrcweir 		aStr2 += sal_Unicode(' ');
1025*cdf0e10cSrcweir 		rText.Insert(aStr2, 0);
1026*cdf0e10cSrcweir 	}
1027*cdf0e10cSrcweir 	return ePres;
1028*cdf0e10cSrcweir }
1029*cdf0e10cSrcweir 
1030*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
1031*cdf0e10cSrcweir int __EXPORT SdrMetricItem::IsPoolable() const
1032*cdf0e10cSrcweir {
1033*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
1034*cdf0e10cSrcweir 	return nId<SDRATTR_NOTPERSIST_FIRST || nId>SDRATTR_NOTPERSIST_LAST;
1035*cdf0e10cSrcweir }
1036*cdf0e10cSrcweir #endif
1037*cdf0e10cSrcweir 
1038*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
1039*cdf0e10cSrcweir // Items des Legendenobjekts
1040*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
1041*cdf0e10cSrcweir 
1042*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrCaptionTypeItem,SfxEnumItem);
1043*cdf0e10cSrcweir 
1044*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCaptionTypeItem::Clone(SfxItemPool* /*pPool*/) const                { return new SdrCaptionTypeItem(*this); }
1045*cdf0e10cSrcweir 
1046*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCaptionTypeItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const       { return new SdrCaptionTypeItem(rIn); }
1047*cdf0e10cSrcweir 
1048*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrCaptionTypeItem::GetValueCount() const { return 4; }
1049*cdf0e10cSrcweir 
1050*cdf0e10cSrcweir XubString __EXPORT SdrCaptionTypeItem::GetValueTextByPos(sal_uInt16 nPos) const
1051*cdf0e10cSrcweir {
1052*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValCAPTIONTYPE1+nPos);
1053*cdf0e10cSrcweir }
1054*cdf0e10cSrcweir 
1055*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrCaptionTypeItem::GetPresentation(SfxItemPresentation ePres,
1056*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1057*cdf0e10cSrcweir {
1058*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1059*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1060*cdf0e10cSrcweir 		String aStr;
1061*cdf0e10cSrcweir 
1062*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1063*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1064*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1065*cdf0e10cSrcweir 	}
1066*cdf0e10cSrcweir 	return ePres;
1067*cdf0e10cSrcweir }
1068*cdf0e10cSrcweir 
1069*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrCaptionEscDirItem,SfxEnumItem);
1070*cdf0e10cSrcweir 
1071*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCaptionEscDirItem::Clone(SfxItemPool* /*pPool*/) const              { return new SdrCaptionEscDirItem(*this); }
1072*cdf0e10cSrcweir 
1073*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCaptionEscDirItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const     { return new SdrCaptionEscDirItem(rIn); }
1074*cdf0e10cSrcweir 
1075*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrCaptionEscDirItem::GetValueCount() const { return 3; }
1076*cdf0e10cSrcweir 
1077*cdf0e10cSrcweir XubString __EXPORT SdrCaptionEscDirItem::GetValueTextByPos(sal_uInt16 nPos) const
1078*cdf0e10cSrcweir {
1079*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValCAPTIONESCHORI+nPos);
1080*cdf0e10cSrcweir }
1081*cdf0e10cSrcweir 
1082*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrCaptionEscDirItem::GetPresentation(SfxItemPresentation ePres,
1083*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1084*cdf0e10cSrcweir {
1085*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1086*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1087*cdf0e10cSrcweir 		String aStr;
1088*cdf0e10cSrcweir 
1089*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1090*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1091*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1092*cdf0e10cSrcweir 	}
1093*cdf0e10cSrcweir 	return ePres;
1094*cdf0e10cSrcweir }
1095*cdf0e10cSrcweir 
1096*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
1097*cdf0e10cSrcweir // MiscItems
1098*cdf0e10cSrcweir ////////////////////////////////////////////////////////////////////////////////
1099*cdf0e10cSrcweir 
1100*cdf0e10cSrcweir // FitToSize
1101*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextFitToSizeTypeItem,SfxEnumItem);
1102*cdf0e10cSrcweir 
1103*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextFitToSizeTypeItem::Clone(SfxItemPool* /*pPool*/) const         { return new SdrTextFitToSizeTypeItem(*this); }
1104*cdf0e10cSrcweir 
1105*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextFitToSizeTypeItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const { return new SdrTextFitToSizeTypeItem(rIn); }
1106*cdf0e10cSrcweir 
1107*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrTextFitToSizeTypeItem::GetValueCount() const { return 4; }
1108*cdf0e10cSrcweir 
1109*cdf0e10cSrcweir XubString __EXPORT SdrTextFitToSizeTypeItem::GetValueTextByPos(sal_uInt16 nPos) const
1110*cdf0e10cSrcweir {
1111*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValFITTOSIZENONE+nPos);
1112*cdf0e10cSrcweir }
1113*cdf0e10cSrcweir 
1114*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextFitToSizeTypeItem::GetPresentation(SfxItemPresentation ePres,
1115*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1116*cdf0e10cSrcweir {
1117*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1118*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1119*cdf0e10cSrcweir 		String aStr;
1120*cdf0e10cSrcweir 
1121*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1122*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1123*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1124*cdf0e10cSrcweir 	}
1125*cdf0e10cSrcweir 	return ePres;
1126*cdf0e10cSrcweir }
1127*cdf0e10cSrcweir 
1128*cdf0e10cSrcweir int  __EXPORT SdrTextFitToSizeTypeItem::HasBoolValue() const { return sal_True; }
1129*cdf0e10cSrcweir 
1130*cdf0e10cSrcweir sal_Bool __EXPORT SdrTextFitToSizeTypeItem::GetBoolValue() const { return GetValue()!=SDRTEXTFIT_NONE; }
1131*cdf0e10cSrcweir 
1132*cdf0e10cSrcweir void __EXPORT SdrTextFitToSizeTypeItem::SetBoolValue(sal_Bool bVal) { SetValue(sal::static_int_cast< sal_uInt16 >(bVal ? SDRTEXTFIT_PROPORTIONAL : SDRTEXTFIT_NONE)); }
1133*cdf0e10cSrcweir 
1134*cdf0e10cSrcweir sal_Bool SdrTextFitToSizeTypeItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1135*cdf0e10cSrcweir {
1136*cdf0e10cSrcweir 	drawing::TextFitToSizeType eFS = (drawing::TextFitToSizeType)GetValue();
1137*cdf0e10cSrcweir 	rVal <<= eFS;
1138*cdf0e10cSrcweir 
1139*cdf0e10cSrcweir 	return sal_True;
1140*cdf0e10cSrcweir }
1141*cdf0e10cSrcweir 
1142*cdf0e10cSrcweir sal_Bool SdrTextFitToSizeTypeItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1143*cdf0e10cSrcweir {
1144*cdf0e10cSrcweir 	drawing::TextFitToSizeType eFS;
1145*cdf0e10cSrcweir 	if(!(rVal >>= eFS))
1146*cdf0e10cSrcweir 	{
1147*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1148*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1149*cdf0e10cSrcweir 			return sal_False;
1150*cdf0e10cSrcweir 
1151*cdf0e10cSrcweir 		eFS = (drawing::TextFitToSizeType) nEnum;
1152*cdf0e10cSrcweir 	}
1153*cdf0e10cSrcweir 
1154*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrFitToSizeType)eFS ) );
1155*cdf0e10cSrcweir 
1156*cdf0e10cSrcweir 	return sal_True;
1157*cdf0e10cSrcweir }
1158*cdf0e10cSrcweir 
1159*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextVertAdjustItem,SfxEnumItem);
1160*cdf0e10cSrcweir 
1161*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextVertAdjustItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextVertAdjustItem(*this); }
1162*cdf0e10cSrcweir 
1163*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextVertAdjustItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextVertAdjustItem(rIn); }
1164*cdf0e10cSrcweir 
1165*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrTextVertAdjustItem::GetValueCount() const { return 5; }
1166*cdf0e10cSrcweir 
1167*cdf0e10cSrcweir XubString __EXPORT SdrTextVertAdjustItem::GetValueTextByPos(sal_uInt16 nPos) const
1168*cdf0e10cSrcweir {
1169*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValTEXTVADJTOP+nPos);
1170*cdf0e10cSrcweir }
1171*cdf0e10cSrcweir 
1172*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextVertAdjustItem::GetPresentation(SfxItemPresentation ePres,
1173*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1174*cdf0e10cSrcweir {
1175*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1176*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1177*cdf0e10cSrcweir 		String aStr;
1178*cdf0e10cSrcweir 
1179*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1180*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1181*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1182*cdf0e10cSrcweir 	}
1183*cdf0e10cSrcweir 	return ePres;
1184*cdf0e10cSrcweir }
1185*cdf0e10cSrcweir 
1186*cdf0e10cSrcweir sal_Bool SdrTextVertAdjustItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1187*cdf0e10cSrcweir {
1188*cdf0e10cSrcweir 	rVal <<= (drawing::TextVerticalAdjust)GetValue();
1189*cdf0e10cSrcweir 	return sal_True;
1190*cdf0e10cSrcweir }
1191*cdf0e10cSrcweir 
1192*cdf0e10cSrcweir sal_Bool SdrTextVertAdjustItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1193*cdf0e10cSrcweir {
1194*cdf0e10cSrcweir 	drawing::TextVerticalAdjust eAdj;
1195*cdf0e10cSrcweir 	if(!(rVal >>= eAdj))
1196*cdf0e10cSrcweir 	{
1197*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1198*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1199*cdf0e10cSrcweir 			return sal_False;
1200*cdf0e10cSrcweir 
1201*cdf0e10cSrcweir 		eAdj = (drawing::TextVerticalAdjust)nEnum;
1202*cdf0e10cSrcweir 	}
1203*cdf0e10cSrcweir 
1204*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrTextVertAdjust)eAdj ) );
1205*cdf0e10cSrcweir 
1206*cdf0e10cSrcweir 	return sal_True;
1207*cdf0e10cSrcweir }
1208*cdf0e10cSrcweir 
1209*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextHorzAdjustItem,SfxEnumItem);
1210*cdf0e10cSrcweir 
1211*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextHorzAdjustItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextHorzAdjustItem(*this); }
1212*cdf0e10cSrcweir 
1213*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextHorzAdjustItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextHorzAdjustItem(rIn); }
1214*cdf0e10cSrcweir 
1215*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrTextHorzAdjustItem::GetValueCount() const { return 5; }
1216*cdf0e10cSrcweir 
1217*cdf0e10cSrcweir XubString __EXPORT SdrTextHorzAdjustItem::GetValueTextByPos(sal_uInt16 nPos) const
1218*cdf0e10cSrcweir {
1219*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValTEXTHADJLEFT+nPos);
1220*cdf0e10cSrcweir }
1221*cdf0e10cSrcweir 
1222*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextHorzAdjustItem::GetPresentation(SfxItemPresentation ePres,
1223*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1224*cdf0e10cSrcweir {
1225*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1226*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1227*cdf0e10cSrcweir 		String aStr;
1228*cdf0e10cSrcweir 
1229*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1230*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1231*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1232*cdf0e10cSrcweir 	}
1233*cdf0e10cSrcweir 	return ePres;
1234*cdf0e10cSrcweir }
1235*cdf0e10cSrcweir 
1236*cdf0e10cSrcweir sal_Bool SdrTextHorzAdjustItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1237*cdf0e10cSrcweir {
1238*cdf0e10cSrcweir 	rVal <<= (drawing::TextHorizontalAdjust)GetValue();
1239*cdf0e10cSrcweir 	return sal_True;
1240*cdf0e10cSrcweir }
1241*cdf0e10cSrcweir 
1242*cdf0e10cSrcweir sal_Bool SdrTextHorzAdjustItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1243*cdf0e10cSrcweir {
1244*cdf0e10cSrcweir 	drawing::TextHorizontalAdjust eAdj;
1245*cdf0e10cSrcweir 	if(!(rVal >>= eAdj))
1246*cdf0e10cSrcweir 	{
1247*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1248*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1249*cdf0e10cSrcweir 			return sal_False;
1250*cdf0e10cSrcweir 
1251*cdf0e10cSrcweir 		eAdj = (drawing::TextHorizontalAdjust)nEnum;
1252*cdf0e10cSrcweir 	}
1253*cdf0e10cSrcweir 
1254*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrTextHorzAdjust)eAdj ) );
1255*cdf0e10cSrcweir 
1256*cdf0e10cSrcweir 	return sal_True;
1257*cdf0e10cSrcweir }
1258*cdf0e10cSrcweir 
1259*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextAniKindItem,SfxEnumItem);
1260*cdf0e10cSrcweir 
1261*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniKindItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextAniKindItem(*this); }
1262*cdf0e10cSrcweir 
1263*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniKindItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextAniKindItem(rIn); }
1264*cdf0e10cSrcweir 
1265*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrTextAniKindItem::GetValueCount() const { return 5; }
1266*cdf0e10cSrcweir 
1267*cdf0e10cSrcweir XubString __EXPORT SdrTextAniKindItem::GetValueTextByPos(sal_uInt16 nPos) const
1268*cdf0e10cSrcweir {
1269*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValTEXTANI_NONE+nPos);
1270*cdf0e10cSrcweir }
1271*cdf0e10cSrcweir 
1272*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextAniKindItem::GetPresentation(SfxItemPresentation ePres,
1273*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1274*cdf0e10cSrcweir {
1275*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1276*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1277*cdf0e10cSrcweir 		String aStr;
1278*cdf0e10cSrcweir 
1279*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1280*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1281*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1282*cdf0e10cSrcweir 	}
1283*cdf0e10cSrcweir 	return ePres;
1284*cdf0e10cSrcweir }
1285*cdf0e10cSrcweir 
1286*cdf0e10cSrcweir sal_Bool SdrTextAniKindItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1287*cdf0e10cSrcweir {
1288*cdf0e10cSrcweir 	rVal <<= (drawing::TextAnimationKind)GetValue();
1289*cdf0e10cSrcweir 	return sal_True;
1290*cdf0e10cSrcweir }
1291*cdf0e10cSrcweir 
1292*cdf0e10cSrcweir sal_Bool SdrTextAniKindItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1293*cdf0e10cSrcweir {
1294*cdf0e10cSrcweir 	drawing::TextAnimationKind eKind;
1295*cdf0e10cSrcweir 	if(!(rVal >>= eKind))
1296*cdf0e10cSrcweir 	{
1297*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1298*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1299*cdf0e10cSrcweir 			return sal_False;
1300*cdf0e10cSrcweir 		eKind = (drawing::TextAnimationKind)nEnum;
1301*cdf0e10cSrcweir 	}
1302*cdf0e10cSrcweir 
1303*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrTextAniKind)eKind ) );
1304*cdf0e10cSrcweir 
1305*cdf0e10cSrcweir 	return sal_True;
1306*cdf0e10cSrcweir }
1307*cdf0e10cSrcweir 
1308*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextAniDirectionItem,SfxEnumItem);
1309*cdf0e10cSrcweir 
1310*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniDirectionItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextAniDirectionItem(*this); }
1311*cdf0e10cSrcweir 
1312*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniDirectionItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextAniDirectionItem(rIn); }
1313*cdf0e10cSrcweir 
1314*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrTextAniDirectionItem::GetValueCount() const { return 4; }
1315*cdf0e10cSrcweir 
1316*cdf0e10cSrcweir XubString __EXPORT SdrTextAniDirectionItem::GetValueTextByPos(sal_uInt16 nPos) const
1317*cdf0e10cSrcweir {
1318*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValTEXTANI_LEFT+nPos);
1319*cdf0e10cSrcweir }
1320*cdf0e10cSrcweir 
1321*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextAniDirectionItem::GetPresentation(SfxItemPresentation ePres,
1322*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1323*cdf0e10cSrcweir {
1324*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1325*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1326*cdf0e10cSrcweir 		String aStr;
1327*cdf0e10cSrcweir 
1328*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1329*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1330*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1331*cdf0e10cSrcweir 	}
1332*cdf0e10cSrcweir 	return ePres;
1333*cdf0e10cSrcweir }
1334*cdf0e10cSrcweir 
1335*cdf0e10cSrcweir sal_Bool SdrTextAniDirectionItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1336*cdf0e10cSrcweir {
1337*cdf0e10cSrcweir 	rVal <<= (drawing::TextAnimationDirection)GetValue();
1338*cdf0e10cSrcweir 	return sal_True;
1339*cdf0e10cSrcweir }
1340*cdf0e10cSrcweir 
1341*cdf0e10cSrcweir sal_Bool SdrTextAniDirectionItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1342*cdf0e10cSrcweir {
1343*cdf0e10cSrcweir 	drawing::TextAnimationDirection eDir;
1344*cdf0e10cSrcweir 	if(!(rVal >>= eDir))
1345*cdf0e10cSrcweir 	{
1346*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1347*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1348*cdf0e10cSrcweir 			return sal_False;
1349*cdf0e10cSrcweir 
1350*cdf0e10cSrcweir 		eDir = (drawing::TextAnimationDirection)nEnum;
1351*cdf0e10cSrcweir 	}
1352*cdf0e10cSrcweir 
1353*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrTextAniDirection)eDir ) );
1354*cdf0e10cSrcweir 
1355*cdf0e10cSrcweir 	return sal_True;
1356*cdf0e10cSrcweir }
1357*cdf0e10cSrcweir 
1358*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextAniDelayItem,SfxUInt16Item);
1359*cdf0e10cSrcweir 
1360*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniDelayItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextAniDelayItem(*this); }
1361*cdf0e10cSrcweir 
1362*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniDelayItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextAniDelayItem(rIn); }
1363*cdf0e10cSrcweir 
1364*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextAniDelayItem::GetPresentation(
1365*cdf0e10cSrcweir 	SfxItemPresentation ePres, SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
1366*cdf0e10cSrcweir     XubString& rText, const IntlWrapper *) const
1367*cdf0e10cSrcweir {
1368*cdf0e10cSrcweir 	rText = UniString::CreateFromInt32(GetValue());
1369*cdf0e10cSrcweir 	rText += sal_Unicode('m');
1370*cdf0e10cSrcweir 	rText += sal_Unicode('s');
1371*cdf0e10cSrcweir 
1372*cdf0e10cSrcweir 	if(ePres == SFX_ITEM_PRESENTATION_COMPLETE)
1373*cdf0e10cSrcweir 	{
1374*cdf0e10cSrcweir 		XubString aStr;
1375*cdf0e10cSrcweir 
1376*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1377*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1378*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1379*cdf0e10cSrcweir 	}
1380*cdf0e10cSrcweir 
1381*cdf0e10cSrcweir 	return ePres;
1382*cdf0e10cSrcweir }
1383*cdf0e10cSrcweir 
1384*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrTextAniAmountItem,SfxInt16Item);
1385*cdf0e10cSrcweir 
1386*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniAmountItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrTextAniAmountItem(*this); }
1387*cdf0e10cSrcweir 
1388*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextAniAmountItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrTextAniAmountItem(rIn); }
1389*cdf0e10cSrcweir 
1390*cdf0e10cSrcweir FASTBOOL __EXPORT SdrTextAniAmountItem::HasMetrics() const
1391*cdf0e10cSrcweir {
1392*cdf0e10cSrcweir 	return GetValue()>0;
1393*cdf0e10cSrcweir }
1394*cdf0e10cSrcweir 
1395*cdf0e10cSrcweir FASTBOOL __EXPORT SdrTextAniAmountItem::ScaleMetrics(long nMul, long nDiv)
1396*cdf0e10cSrcweir {
1397*cdf0e10cSrcweir 	if (GetValue()>0) {
1398*cdf0e10cSrcweir 		BigInt aVal(GetValue());
1399*cdf0e10cSrcweir 		aVal*=nMul;
1400*cdf0e10cSrcweir 		aVal+=nDiv/2; // fuer korrektes Runden
1401*cdf0e10cSrcweir 		aVal/=nDiv;
1402*cdf0e10cSrcweir 		SetValue(short(aVal));
1403*cdf0e10cSrcweir 		return sal_True;
1404*cdf0e10cSrcweir 	} else return sal_False;
1405*cdf0e10cSrcweir }
1406*cdf0e10cSrcweir 
1407*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextAniAmountItem::GetPresentation(
1408*cdf0e10cSrcweir 	SfxItemPresentation ePres, SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric,
1409*cdf0e10cSrcweir     XubString& rText, const IntlWrapper *) const
1410*cdf0e10cSrcweir {
1411*cdf0e10cSrcweir 	sal_Int32 nValue(GetValue());
1412*cdf0e10cSrcweir 
1413*cdf0e10cSrcweir 	if(!nValue)
1414*cdf0e10cSrcweir 		nValue = -1L;
1415*cdf0e10cSrcweir 
1416*cdf0e10cSrcweir 	if(nValue < 0)
1417*cdf0e10cSrcweir 	{
1418*cdf0e10cSrcweir 		sal_Char aText[] = "pixel";
1419*cdf0e10cSrcweir 
1420*cdf0e10cSrcweir 		rText = UniString::CreateFromInt32(-nValue);
1421*cdf0e10cSrcweir 		rText += UniString(aText, sizeof(aText-1));
1422*cdf0e10cSrcweir 	}
1423*cdf0e10cSrcweir 	else
1424*cdf0e10cSrcweir 	{
1425*cdf0e10cSrcweir 		SdrFormatter aFmt((MapUnit)eCoreMetric, (MapUnit)ePresMetric);
1426*cdf0e10cSrcweir 		XubString aStr;
1427*cdf0e10cSrcweir 
1428*cdf0e10cSrcweir 		aFmt.TakeStr(nValue, rText);
1429*cdf0e10cSrcweir 		aFmt.TakeUnitStr((MapUnit)ePresMetric, aStr);
1430*cdf0e10cSrcweir 		rText += aStr;
1431*cdf0e10cSrcweir 	}
1432*cdf0e10cSrcweir 
1433*cdf0e10cSrcweir 	if(ePres == SFX_ITEM_PRESENTATION_COMPLETE)
1434*cdf0e10cSrcweir 	{
1435*cdf0e10cSrcweir 		XubString aStr;
1436*cdf0e10cSrcweir 
1437*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1438*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1439*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1440*cdf0e10cSrcweir 	}
1441*cdf0e10cSrcweir 
1442*cdf0e10cSrcweir 	return ePres;
1443*cdf0e10cSrcweir }
1444*cdf0e10cSrcweir 
1445*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY( SdrTextFixedCellHeightItem, SfxBoolItem );
1446*cdf0e10cSrcweir SdrTextFixedCellHeightItem::SdrTextFixedCellHeightItem( sal_Bool bUseFixedCellHeight )
1447*cdf0e10cSrcweir 	: SfxBoolItem( SDRATTR_TEXT_USEFIXEDCELLHEIGHT, bUseFixedCellHeight )
1448*cdf0e10cSrcweir {
1449*cdf0e10cSrcweir }
1450*cdf0e10cSrcweir SdrTextFixedCellHeightItem::SdrTextFixedCellHeightItem( SvStream & rStream, sal_uInt16 nVersion )
1451*cdf0e10cSrcweir 	: SfxBoolItem( SDRATTR_TEXT_USEFIXEDCELLHEIGHT, sal_False )
1452*cdf0e10cSrcweir {
1453*cdf0e10cSrcweir 	if ( nVersion )
1454*cdf0e10cSrcweir 	{
1455*cdf0e10cSrcweir 		sal_Bool bValue;
1456*cdf0e10cSrcweir 		rStream >> bValue;
1457*cdf0e10cSrcweir 		SetValue( bValue );
1458*cdf0e10cSrcweir 	}
1459*cdf0e10cSrcweir }
1460*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrTextFixedCellHeightItem::GetPresentation( SfxItemPresentation ePres,
1461*cdf0e10cSrcweir 									SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresentationMetric*/,
1462*cdf0e10cSrcweir                                         String &rText, const IntlWrapper * ) const
1463*cdf0e10cSrcweir {
1464*cdf0e10cSrcweir 	rText = GetValueTextByVal( GetValue() );
1465*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE)
1466*cdf0e10cSrcweir 	{
1467*cdf0e10cSrcweir 		String aStr;
1468*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1469*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1470*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1471*cdf0e10cSrcweir 	}
1472*cdf0e10cSrcweir 	return ePres;
1473*cdf0e10cSrcweir }
1474*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextFixedCellHeightItem::Create( SvStream& rIn, sal_uInt16 nItemVersion ) const
1475*cdf0e10cSrcweir {
1476*cdf0e10cSrcweir 	return new SdrTextFixedCellHeightItem( rIn, nItemVersion );
1477*cdf0e10cSrcweir }
1478*cdf0e10cSrcweir SvStream& __EXPORT SdrTextFixedCellHeightItem::Store( SvStream& rOut, sal_uInt16 nItemVersion ) const
1479*cdf0e10cSrcweir {
1480*cdf0e10cSrcweir 	if ( nItemVersion )
1481*cdf0e10cSrcweir 	{
1482*cdf0e10cSrcweir 		sal_Bool bValue = (sal_Bool)GetValue();
1483*cdf0e10cSrcweir 		rOut << bValue;
1484*cdf0e10cSrcweir 	}
1485*cdf0e10cSrcweir 	return rOut;
1486*cdf0e10cSrcweir }
1487*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrTextFixedCellHeightItem::Clone( SfxItemPool * /*pPool*/) const
1488*cdf0e10cSrcweir {
1489*cdf0e10cSrcweir 	return new SdrTextFixedCellHeightItem( GetValue() );
1490*cdf0e10cSrcweir }
1491*cdf0e10cSrcweir sal_uInt16 SdrTextFixedCellHeightItem::GetVersion( sal_uInt16 /*nFileFormatVersion*/) const
1492*cdf0e10cSrcweir {
1493*cdf0e10cSrcweir 	return 1;
1494*cdf0e10cSrcweir }
1495*cdf0e10cSrcweir sal_Bool SdrTextFixedCellHeightItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1496*cdf0e10cSrcweir {
1497*cdf0e10cSrcweir 	sal_Bool bValue = (sal_Bool)GetValue();
1498*cdf0e10cSrcweir 	rVal <<= bValue;
1499*cdf0e10cSrcweir 	return sal_True;
1500*cdf0e10cSrcweir }
1501*cdf0e10cSrcweir sal_Bool SdrTextFixedCellHeightItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1502*cdf0e10cSrcweir {
1503*cdf0e10cSrcweir 	sal_Bool bValue = sal_Bool();
1504*cdf0e10cSrcweir 	if( !( rVal >>= bValue ) )
1505*cdf0e10cSrcweir 		return sal_False;
1506*cdf0e10cSrcweir 	SetValue( bValue );
1507*cdf0e10cSrcweir 	return sal_True;
1508*cdf0e10cSrcweir }
1509*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
1510*cdf0e10cSrcweir int __EXPORT SdrTextFixedCellHeightItem::IsPoolable() const
1511*cdf0e10cSrcweir {
1512*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
1513*cdf0e10cSrcweir 	return nId < SDRATTR_NOTPERSIST_FIRST || nId > SDRATTR_NOTPERSIST_LAST;
1514*cdf0e10cSrcweir }
1515*cdf0e10cSrcweir #endif
1516*cdf0e10cSrcweir 
1517*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY( SdrCustomShapeAdjustmentItem, SfxPoolItem );
1518*cdf0e10cSrcweir 
1519*cdf0e10cSrcweir SdrCustomShapeAdjustmentItem::SdrCustomShapeAdjustmentItem() : SfxPoolItem( SDRATTR_CUSTOMSHAPE_ADJUSTMENT )
1520*cdf0e10cSrcweir {
1521*cdf0e10cSrcweir }
1522*cdf0e10cSrcweir 
1523*cdf0e10cSrcweir SdrCustomShapeAdjustmentItem::SdrCustomShapeAdjustmentItem( SvStream& rIn, sal_uInt16 nVersion ):
1524*cdf0e10cSrcweir 	SfxPoolItem( SDRATTR_CUSTOMSHAPE_ADJUSTMENT )
1525*cdf0e10cSrcweir {
1526*cdf0e10cSrcweir 	if ( nVersion )
1527*cdf0e10cSrcweir 	{
1528*cdf0e10cSrcweir 		SdrCustomShapeAdjustmentValue aVal;
1529*cdf0e10cSrcweir 		sal_uInt32 i, nCount;
1530*cdf0e10cSrcweir 		rIn >> nCount;
1531*cdf0e10cSrcweir 		for ( i = 0; i < nCount; i++ )
1532*cdf0e10cSrcweir 		{
1533*cdf0e10cSrcweir 			rIn >> aVal.nValue;
1534*cdf0e10cSrcweir 			SetValue( i, aVal );
1535*cdf0e10cSrcweir 		}
1536*cdf0e10cSrcweir 	}
1537*cdf0e10cSrcweir }
1538*cdf0e10cSrcweir 
1539*cdf0e10cSrcweir SdrCustomShapeAdjustmentItem::~SdrCustomShapeAdjustmentItem()
1540*cdf0e10cSrcweir {
1541*cdf0e10cSrcweir 	void* pPtr;
1542*cdf0e10cSrcweir 	for ( pPtr = aAdjustmentValueList.First(); pPtr; pPtr = aAdjustmentValueList.Next() )
1543*cdf0e10cSrcweir 		delete (SdrCustomShapeAdjustmentValue*)pPtr;
1544*cdf0e10cSrcweir }
1545*cdf0e10cSrcweir 
1546*cdf0e10cSrcweir int __EXPORT SdrCustomShapeAdjustmentItem::operator==( const SfxPoolItem& rCmp ) const
1547*cdf0e10cSrcweir {
1548*cdf0e10cSrcweir 	int bRet = SfxPoolItem::operator==( rCmp );
1549*cdf0e10cSrcweir 	if ( bRet )
1550*cdf0e10cSrcweir 	{
1551*cdf0e10cSrcweir 		bRet = ((SdrCustomShapeAdjustmentItem&)rCmp).GetCount() == GetCount();
1552*cdf0e10cSrcweir 		if ( bRet )
1553*cdf0e10cSrcweir 		{
1554*cdf0e10cSrcweir 			sal_uInt32 i;
1555*cdf0e10cSrcweir 			for ( i = 0; i < GetCount(); i++ )
1556*cdf0e10cSrcweir 			{
1557*cdf0e10cSrcweir 				if ( ((SdrCustomShapeAdjustmentItem&)rCmp).GetValue( i ).nValue != GetValue( i ).nValue )
1558*cdf0e10cSrcweir 				{
1559*cdf0e10cSrcweir 					bRet = 0;
1560*cdf0e10cSrcweir 					break;
1561*cdf0e10cSrcweir 				}
1562*cdf0e10cSrcweir 			}
1563*cdf0e10cSrcweir 		}
1564*cdf0e10cSrcweir 	}
1565*cdf0e10cSrcweir 	return bRet;
1566*cdf0e10cSrcweir }
1567*cdf0e10cSrcweir 
1568*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrCustomShapeAdjustmentItem::GetPresentation(
1569*cdf0e10cSrcweir 	SfxItemPresentation ePresentation, SfxMapUnit /*eCoreMetric*/,
1570*cdf0e10cSrcweir     SfxMapUnit /*ePresentationMetric*/, XubString &rText, const IntlWrapper *) const
1571*cdf0e10cSrcweir {
1572*cdf0e10cSrcweir 	sal_uInt32 i, nCount = GetCount();
1573*cdf0e10cSrcweir 	rText.Append( UniString::CreateFromInt32( nCount ) );
1574*cdf0e10cSrcweir 	for ( i = 0; i < nCount; i++ )
1575*cdf0e10cSrcweir 	{
1576*cdf0e10cSrcweir 		rText += sal_Unicode( ' ' );
1577*cdf0e10cSrcweir 		rText.Append( UniString::CreateFromInt32( GetValue( i ).nValue ) );
1578*cdf0e10cSrcweir 	}
1579*cdf0e10cSrcweir 	if ( ePresentation == SFX_ITEM_PRESENTATION_COMPLETE )
1580*cdf0e10cSrcweir 	{
1581*cdf0e10cSrcweir 		XubString aStr;
1582*cdf0e10cSrcweir 
1583*cdf0e10cSrcweir 		SdrItemPool::TakeItemName( Which(), aStr );
1584*cdf0e10cSrcweir 		aStr += sal_Unicode( ' ' );
1585*cdf0e10cSrcweir 		rText.Insert( aStr, 0 );
1586*cdf0e10cSrcweir 	}
1587*cdf0e10cSrcweir 	return ePresentation;
1588*cdf0e10cSrcweir }
1589*cdf0e10cSrcweir 
1590*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCustomShapeAdjustmentItem::Create( SvStream& rIn, sal_uInt16 nItemVersion ) const
1591*cdf0e10cSrcweir {
1592*cdf0e10cSrcweir 	return new SdrCustomShapeAdjustmentItem( rIn, nItemVersion );
1593*cdf0e10cSrcweir }
1594*cdf0e10cSrcweir 
1595*cdf0e10cSrcweir SvStream& __EXPORT SdrCustomShapeAdjustmentItem::Store( SvStream& rOut, sal_uInt16 nItemVersion ) const
1596*cdf0e10cSrcweir {
1597*cdf0e10cSrcweir 	if ( nItemVersion )
1598*cdf0e10cSrcweir 	{
1599*cdf0e10cSrcweir 		sal_uInt32 i, nCount = GetCount();
1600*cdf0e10cSrcweir 		rOut << nCount;
1601*cdf0e10cSrcweir 		for ( i = 0; i < nCount; i++ )
1602*cdf0e10cSrcweir 			rOut << GetValue( i ).nValue;
1603*cdf0e10cSrcweir 	}
1604*cdf0e10cSrcweir 	return rOut;
1605*cdf0e10cSrcweir }
1606*cdf0e10cSrcweir 
1607*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCustomShapeAdjustmentItem::Clone( SfxItemPool * /*pPool*/) const
1608*cdf0e10cSrcweir {
1609*cdf0e10cSrcweir 	sal_uInt32 i;
1610*cdf0e10cSrcweir 	SdrCustomShapeAdjustmentItem* pItem = new SdrCustomShapeAdjustmentItem;
1611*cdf0e10cSrcweir 	for ( i = 0; i < GetCount(); i++ )
1612*cdf0e10cSrcweir 	{
1613*cdf0e10cSrcweir 		const SdrCustomShapeAdjustmentValue& rVal = GetValue( i );
1614*cdf0e10cSrcweir 		pItem->SetValue( i, rVal );
1615*cdf0e10cSrcweir 	}
1616*cdf0e10cSrcweir 	return pItem;
1617*cdf0e10cSrcweir }
1618*cdf0e10cSrcweir 
1619*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
1620*cdf0e10cSrcweir int __EXPORT SdrCustomShapeAdjustmentItem::IsPoolable() const
1621*cdf0e10cSrcweir {
1622*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
1623*cdf0e10cSrcweir 	return nId < SDRATTR_NOTPERSIST_FIRST || nId > SDRATTR_NOTPERSIST_LAST;
1624*cdf0e10cSrcweir }
1625*cdf0e10cSrcweir #endif
1626*cdf0e10cSrcweir 
1627*cdf0e10cSrcweir const SdrCustomShapeAdjustmentValue& SdrCustomShapeAdjustmentItem::GetValue( sal_uInt32 nIndex ) const
1628*cdf0e10cSrcweir {
1629*cdf0e10cSrcweir #ifdef DBG_UTIL
1630*cdf0e10cSrcweir 	if ( aAdjustmentValueList.Count() <= nIndex )
1631*cdf0e10cSrcweir 		DBG_ERROR( "SdrCustomShapeAdjustemntItem::GetValue - nIndex out of range (SJ)" );
1632*cdf0e10cSrcweir #endif
1633*cdf0e10cSrcweir 	return *(SdrCustomShapeAdjustmentValue*)aAdjustmentValueList.GetObject( nIndex );
1634*cdf0e10cSrcweir }
1635*cdf0e10cSrcweir 
1636*cdf0e10cSrcweir void SdrCustomShapeAdjustmentItem::SetValue( sal_uInt32 nIndex, const SdrCustomShapeAdjustmentValue& rVal )
1637*cdf0e10cSrcweir {
1638*cdf0e10cSrcweir 	sal_uInt32 i;
1639*cdf0e10cSrcweir 	for ( i = GetCount(); i <= nIndex; i++ )
1640*cdf0e10cSrcweir 	{
1641*cdf0e10cSrcweir 		SdrCustomShapeAdjustmentValue* pItem = new SdrCustomShapeAdjustmentValue;
1642*cdf0e10cSrcweir 		aAdjustmentValueList.Insert( pItem, LIST_APPEND );
1643*cdf0e10cSrcweir 	}
1644*cdf0e10cSrcweir 	SdrCustomShapeAdjustmentValue& rValue = *(SdrCustomShapeAdjustmentValue*)aAdjustmentValueList.GetObject( nIndex );
1645*cdf0e10cSrcweir 	rValue.nValue = rVal.nValue;
1646*cdf0e10cSrcweir }
1647*cdf0e10cSrcweir 
1648*cdf0e10cSrcweir sal_uInt16 SdrCustomShapeAdjustmentItem::GetVersion( sal_uInt16 /*nFileFormatVersion*/) const
1649*cdf0e10cSrcweir {
1650*cdf0e10cSrcweir 	return 1;
1651*cdf0e10cSrcweir }
1652*cdf0e10cSrcweir 
1653*cdf0e10cSrcweir sal_Bool SdrCustomShapeAdjustmentItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1654*cdf0e10cSrcweir {
1655*cdf0e10cSrcweir 	sal_uInt32 i, nCount = GetCount();
1656*cdf0e10cSrcweir 	uno::Sequence< sal_Int32 > aSequence( nCount );
1657*cdf0e10cSrcweir 	if ( nCount )
1658*cdf0e10cSrcweir 	{
1659*cdf0e10cSrcweir 		sal_Int32* pPtr = aSequence.getArray();
1660*cdf0e10cSrcweir 		for ( i = 0; i < nCount; i++ )
1661*cdf0e10cSrcweir 			*pPtr++ = GetValue( i ).nValue;
1662*cdf0e10cSrcweir 	}
1663*cdf0e10cSrcweir 	rVal <<= aSequence;
1664*cdf0e10cSrcweir 	return sal_True;
1665*cdf0e10cSrcweir }
1666*cdf0e10cSrcweir 
1667*cdf0e10cSrcweir sal_Bool SdrCustomShapeAdjustmentItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1668*cdf0e10cSrcweir {
1669*cdf0e10cSrcweir 	uno::Sequence< sal_Int32 > aSequence;
1670*cdf0e10cSrcweir 	if( !( rVal >>= aSequence ) )
1671*cdf0e10cSrcweir 		return sal_False;
1672*cdf0e10cSrcweir 
1673*cdf0e10cSrcweir 	void* pPtr;
1674*cdf0e10cSrcweir 	for ( pPtr = aAdjustmentValueList.First(); pPtr; pPtr = aAdjustmentValueList.Next() )
1675*cdf0e10cSrcweir 		delete (SdrCustomShapeAdjustmentValue*)pPtr;
1676*cdf0e10cSrcweir 
1677*cdf0e10cSrcweir 	sal_uInt32 i, nCount = aSequence.getLength();
1678*cdf0e10cSrcweir 	if ( nCount )
1679*cdf0e10cSrcweir 	{
1680*cdf0e10cSrcweir 		const sal_Int32* pPtr2 = aSequence.getConstArray();
1681*cdf0e10cSrcweir 		for ( i = 0; i < nCount; i++ )
1682*cdf0e10cSrcweir 		{
1683*cdf0e10cSrcweir 			SdrCustomShapeAdjustmentValue* pItem = new SdrCustomShapeAdjustmentValue;
1684*cdf0e10cSrcweir 			pItem->nValue = *pPtr2++;
1685*cdf0e10cSrcweir 			aAdjustmentValueList.Insert( pItem, LIST_APPEND );
1686*cdf0e10cSrcweir 		}
1687*cdf0e10cSrcweir 	}
1688*cdf0e10cSrcweir 	return sal_True;
1689*cdf0e10cSrcweir }
1690*cdf0e10cSrcweir 
1691*cdf0e10cSrcweir 
1692*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1693*cdf0e10cSrcweir // Edge
1694*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1695*cdf0e10cSrcweir 
1696*cdf0e10cSrcweir // EdgeKind
1697*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrEdgeKindItem,SfxEnumItem);
1698*cdf0e10cSrcweir 
1699*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrEdgeKindItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrEdgeKindItem(*this); }
1700*cdf0e10cSrcweir 
1701*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrEdgeKindItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrEdgeKindItem(rIn); }
1702*cdf0e10cSrcweir 
1703*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrEdgeKindItem::GetValueCount() const { return 4; }
1704*cdf0e10cSrcweir 
1705*cdf0e10cSrcweir XubString __EXPORT SdrEdgeKindItem::GetValueTextByPos(sal_uInt16 nPos) const
1706*cdf0e10cSrcweir {
1707*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValEDGE_ORTHOLINES+nPos);
1708*cdf0e10cSrcweir }
1709*cdf0e10cSrcweir 
1710*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrEdgeKindItem::GetPresentation(SfxItemPresentation ePres,
1711*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1712*cdf0e10cSrcweir {
1713*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1714*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1715*cdf0e10cSrcweir 		String aStr;
1716*cdf0e10cSrcweir 
1717*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1718*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1719*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1720*cdf0e10cSrcweir 	}
1721*cdf0e10cSrcweir 	return ePres;
1722*cdf0e10cSrcweir }
1723*cdf0e10cSrcweir 
1724*cdf0e10cSrcweir sal_Bool SdrEdgeKindItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1725*cdf0e10cSrcweir {
1726*cdf0e10cSrcweir 	drawing::ConnectorType eCT = drawing::ConnectorType_STANDARD;
1727*cdf0e10cSrcweir 
1728*cdf0e10cSrcweir 	switch( GetValue() )
1729*cdf0e10cSrcweir 	{
1730*cdf0e10cSrcweir 		case SDREDGE_ORTHOLINES :   eCT = drawing::ConnectorType_STANDARD; break;
1731*cdf0e10cSrcweir 		case SDREDGE_THREELINES :   eCT = drawing::ConnectorType_LINES;	break;
1732*cdf0e10cSrcweir 		case SDREDGE_ONELINE :		eCT = drawing::ConnectorType_LINE;	break;
1733*cdf0e10cSrcweir 		case SDREDGE_BEZIER :		eCT = drawing::ConnectorType_CURVE;	break;
1734*cdf0e10cSrcweir 		case SDREDGE_ARC :          eCT = drawing::ConnectorType_CURVE;	break;
1735*cdf0e10cSrcweir 		default:
1736*cdf0e10cSrcweir 			DBG_ERROR( "SdrEdgeKindItem::QueryValue : unknown enum" );
1737*cdf0e10cSrcweir 	}
1738*cdf0e10cSrcweir 
1739*cdf0e10cSrcweir 	rVal <<= eCT;
1740*cdf0e10cSrcweir 
1741*cdf0e10cSrcweir 	return sal_True;
1742*cdf0e10cSrcweir }
1743*cdf0e10cSrcweir 
1744*cdf0e10cSrcweir sal_Bool SdrEdgeKindItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1745*cdf0e10cSrcweir {
1746*cdf0e10cSrcweir 	drawing::ConnectorType eCT;
1747*cdf0e10cSrcweir 	if(!(rVal >>= eCT))
1748*cdf0e10cSrcweir 	{
1749*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1750*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1751*cdf0e10cSrcweir 			return sal_False;
1752*cdf0e10cSrcweir 
1753*cdf0e10cSrcweir 		eCT = (drawing::ConnectorType)nEnum;
1754*cdf0e10cSrcweir 	}
1755*cdf0e10cSrcweir 
1756*cdf0e10cSrcweir 	SdrEdgeKind eEK = SDREDGE_ORTHOLINES;
1757*cdf0e10cSrcweir 	switch( eCT )
1758*cdf0e10cSrcweir 	{
1759*cdf0e10cSrcweir 		case drawing::ConnectorType_STANDARD :	eEK = SDREDGE_ORTHOLINES;	break;
1760*cdf0e10cSrcweir 		case drawing::ConnectorType_CURVE :		eEK = SDREDGE_BEZIER;		break;
1761*cdf0e10cSrcweir 		case drawing::ConnectorType_LINE :       eEK = SDREDGE_ONELINE;		break;
1762*cdf0e10cSrcweir 		case drawing::ConnectorType_LINES :      eEK = SDREDGE_THREELINES;   break;
1763*cdf0e10cSrcweir 		default:
1764*cdf0e10cSrcweir 			DBG_ERROR( "SdrEdgeKindItem::PuValue : unknown enum" );
1765*cdf0e10cSrcweir 	}
1766*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( eEK ) );
1767*cdf0e10cSrcweir 
1768*cdf0e10cSrcweir 	return sal_True;
1769*cdf0e10cSrcweir }
1770*cdf0e10cSrcweir 
1771*cdf0e10cSrcweir sal_Bool SdrEdgeNode1HorzDistItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1772*cdf0e10cSrcweir {
1773*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1774*cdf0e10cSrcweir 	return sal_True;
1775*cdf0e10cSrcweir }
1776*cdf0e10cSrcweir 
1777*cdf0e10cSrcweir sal_Bool SdrEdgeNode1HorzDistItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1778*cdf0e10cSrcweir {
1779*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1780*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1781*cdf0e10cSrcweir 		return sal_False;
1782*cdf0e10cSrcweir 
1783*cdf0e10cSrcweir 	SetValue( nValue );
1784*cdf0e10cSrcweir 	return sal_True;
1785*cdf0e10cSrcweir }
1786*cdf0e10cSrcweir 
1787*cdf0e10cSrcweir sal_Bool SdrEdgeNode1VertDistItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1788*cdf0e10cSrcweir {
1789*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1790*cdf0e10cSrcweir 	return sal_True;
1791*cdf0e10cSrcweir }
1792*cdf0e10cSrcweir 
1793*cdf0e10cSrcweir sal_Bool SdrEdgeNode1VertDistItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1794*cdf0e10cSrcweir {
1795*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1796*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1797*cdf0e10cSrcweir 		return sal_False;
1798*cdf0e10cSrcweir 
1799*cdf0e10cSrcweir 	SetValue( nValue );
1800*cdf0e10cSrcweir 	return sal_True;
1801*cdf0e10cSrcweir }
1802*cdf0e10cSrcweir 
1803*cdf0e10cSrcweir sal_Bool SdrEdgeNode2HorzDistItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1804*cdf0e10cSrcweir {
1805*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1806*cdf0e10cSrcweir 	return sal_True;
1807*cdf0e10cSrcweir }
1808*cdf0e10cSrcweir 
1809*cdf0e10cSrcweir sal_Bool SdrEdgeNode2HorzDistItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1810*cdf0e10cSrcweir {
1811*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1812*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1813*cdf0e10cSrcweir 		return sal_False;
1814*cdf0e10cSrcweir 
1815*cdf0e10cSrcweir 	SetValue( nValue );
1816*cdf0e10cSrcweir 	return sal_True;
1817*cdf0e10cSrcweir }
1818*cdf0e10cSrcweir 
1819*cdf0e10cSrcweir sal_Bool SdrEdgeNode2VertDistItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1820*cdf0e10cSrcweir {
1821*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1822*cdf0e10cSrcweir 	return sal_True;
1823*cdf0e10cSrcweir }
1824*cdf0e10cSrcweir 
1825*cdf0e10cSrcweir sal_Bool SdrEdgeNode2VertDistItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1826*cdf0e10cSrcweir {
1827*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1828*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1829*cdf0e10cSrcweir 		return sal_False;
1830*cdf0e10cSrcweir 
1831*cdf0e10cSrcweir 	SetValue( nValue );
1832*cdf0e10cSrcweir 	return sal_True;
1833*cdf0e10cSrcweir }
1834*cdf0e10cSrcweir 
1835*cdf0e10cSrcweir sal_Bool SdrEdgeLine1DeltaItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1836*cdf0e10cSrcweir {
1837*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1838*cdf0e10cSrcweir 	return sal_True;
1839*cdf0e10cSrcweir }
1840*cdf0e10cSrcweir 
1841*cdf0e10cSrcweir sal_Bool SdrEdgeLine1DeltaItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1842*cdf0e10cSrcweir {
1843*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1844*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1845*cdf0e10cSrcweir 		return sal_False;
1846*cdf0e10cSrcweir 
1847*cdf0e10cSrcweir 	SetValue( nValue );
1848*cdf0e10cSrcweir 	return sal_True;
1849*cdf0e10cSrcweir }
1850*cdf0e10cSrcweir 
1851*cdf0e10cSrcweir sal_Bool SdrEdgeLine2DeltaItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1852*cdf0e10cSrcweir {
1853*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1854*cdf0e10cSrcweir 	return sal_True;
1855*cdf0e10cSrcweir }
1856*cdf0e10cSrcweir 
1857*cdf0e10cSrcweir sal_Bool SdrEdgeLine2DeltaItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1858*cdf0e10cSrcweir {
1859*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1860*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1861*cdf0e10cSrcweir 		return sal_False;
1862*cdf0e10cSrcweir 
1863*cdf0e10cSrcweir 	SetValue( nValue );
1864*cdf0e10cSrcweir 	return sal_True;
1865*cdf0e10cSrcweir }
1866*cdf0e10cSrcweir 
1867*cdf0e10cSrcweir sal_Bool SdrEdgeLine3DeltaItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1868*cdf0e10cSrcweir {
1869*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
1870*cdf0e10cSrcweir 	return sal_True;
1871*cdf0e10cSrcweir }
1872*cdf0e10cSrcweir 
1873*cdf0e10cSrcweir sal_Bool SdrEdgeLine3DeltaItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1874*cdf0e10cSrcweir {
1875*cdf0e10cSrcweir 	sal_Int32 nValue = 0;
1876*cdf0e10cSrcweir 	if(!(rVal >>= nValue))
1877*cdf0e10cSrcweir 		return sal_False;
1878*cdf0e10cSrcweir 
1879*cdf0e10cSrcweir 	SetValue( nValue );
1880*cdf0e10cSrcweir 	return sal_True;
1881*cdf0e10cSrcweir }
1882*cdf0e10cSrcweir 
1883*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1884*cdf0e10cSrcweir // Measure
1885*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1886*cdf0e10cSrcweir 
1887*cdf0e10cSrcweir // MeasureKind
1888*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrMeasureKindItem,SfxEnumItem);
1889*cdf0e10cSrcweir 
1890*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureKindItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrMeasureKindItem(*this); }
1891*cdf0e10cSrcweir 
1892*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureKindItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrMeasureKindItem(rIn); }
1893*cdf0e10cSrcweir 
1894*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrMeasureKindItem::GetValueCount() const { return 2; }
1895*cdf0e10cSrcweir 
1896*cdf0e10cSrcweir XubString __EXPORT SdrMeasureKindItem::GetValueTextByPos(sal_uInt16 nPos) const
1897*cdf0e10cSrcweir {
1898*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValMEASURE_STD+nPos);
1899*cdf0e10cSrcweir }
1900*cdf0e10cSrcweir 
1901*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrMeasureKindItem::GetPresentation(SfxItemPresentation ePres,
1902*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1903*cdf0e10cSrcweir {
1904*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1905*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1906*cdf0e10cSrcweir 		String aStr;
1907*cdf0e10cSrcweir 
1908*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1909*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1910*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1911*cdf0e10cSrcweir 	}
1912*cdf0e10cSrcweir 	return ePres;
1913*cdf0e10cSrcweir }
1914*cdf0e10cSrcweir 
1915*cdf0e10cSrcweir sal_Bool SdrMeasureKindItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1916*cdf0e10cSrcweir {
1917*cdf0e10cSrcweir 	rVal <<= (drawing::MeasureKind)GetValue();
1918*cdf0e10cSrcweir 	return sal_True;
1919*cdf0e10cSrcweir }
1920*cdf0e10cSrcweir 
1921*cdf0e10cSrcweir sal_Bool SdrMeasureKindItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1922*cdf0e10cSrcweir {
1923*cdf0e10cSrcweir 	drawing::MeasureKind eKind;
1924*cdf0e10cSrcweir 	if(!(rVal >>= eKind))
1925*cdf0e10cSrcweir 	{
1926*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1927*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1928*cdf0e10cSrcweir 			return sal_False;
1929*cdf0e10cSrcweir 
1930*cdf0e10cSrcweir 		eKind = (drawing::MeasureKind)nEnum;
1931*cdf0e10cSrcweir 	}
1932*cdf0e10cSrcweir 
1933*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrMeasureKind)eKind ) );
1934*cdf0e10cSrcweir 	return sal_True;
1935*cdf0e10cSrcweir }
1936*cdf0e10cSrcweir 
1937*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrMeasureTextHPosItem,SfxEnumItem);
1938*cdf0e10cSrcweir 
1939*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureTextHPosItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrMeasureTextHPosItem(*this); }
1940*cdf0e10cSrcweir 
1941*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureTextHPosItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrMeasureTextHPosItem(rIn); }
1942*cdf0e10cSrcweir 
1943*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrMeasureTextHPosItem::GetValueCount() const { return 4; }
1944*cdf0e10cSrcweir 
1945*cdf0e10cSrcweir XubString __EXPORT SdrMeasureTextHPosItem::GetValueTextByPos(sal_uInt16 nPos) const
1946*cdf0e10cSrcweir {
1947*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValMEASURE_TEXTHAUTO+nPos);
1948*cdf0e10cSrcweir }
1949*cdf0e10cSrcweir 
1950*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrMeasureTextHPosItem::GetPresentation(SfxItemPresentation ePres,
1951*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
1952*cdf0e10cSrcweir {
1953*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
1954*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
1955*cdf0e10cSrcweir 		String aStr;
1956*cdf0e10cSrcweir 
1957*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
1958*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
1959*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
1960*cdf0e10cSrcweir 	}
1961*cdf0e10cSrcweir 	return ePres;
1962*cdf0e10cSrcweir }
1963*cdf0e10cSrcweir 
1964*cdf0e10cSrcweir sal_Bool SdrMeasureTextHPosItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
1965*cdf0e10cSrcweir {
1966*cdf0e10cSrcweir 	rVal <<= (drawing::MeasureTextHorzPos)GetValue();
1967*cdf0e10cSrcweir 	return sal_True;
1968*cdf0e10cSrcweir }
1969*cdf0e10cSrcweir 
1970*cdf0e10cSrcweir sal_Bool SdrMeasureTextHPosItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
1971*cdf0e10cSrcweir {
1972*cdf0e10cSrcweir 	drawing::MeasureTextHorzPos ePos;
1973*cdf0e10cSrcweir 	if(!(rVal >>= ePos))
1974*cdf0e10cSrcweir 	{
1975*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
1976*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
1977*cdf0e10cSrcweir 			return sal_False;
1978*cdf0e10cSrcweir 
1979*cdf0e10cSrcweir 		ePos = (drawing::MeasureTextHorzPos)nEnum;
1980*cdf0e10cSrcweir 	}
1981*cdf0e10cSrcweir 
1982*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrMeasureTextHPos)ePos ) );
1983*cdf0e10cSrcweir 	return sal_True;
1984*cdf0e10cSrcweir }
1985*cdf0e10cSrcweir 
1986*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrMeasureTextVPosItem,SfxEnumItem);
1987*cdf0e10cSrcweir 
1988*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureTextVPosItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrMeasureTextVPosItem(*this); }
1989*cdf0e10cSrcweir 
1990*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureTextVPosItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrMeasureTextVPosItem(rIn); }
1991*cdf0e10cSrcweir 
1992*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrMeasureTextVPosItem::GetValueCount() const { return 5; }
1993*cdf0e10cSrcweir 
1994*cdf0e10cSrcweir XubString __EXPORT SdrMeasureTextVPosItem::GetValueTextByPos(sal_uInt16 nPos) const
1995*cdf0e10cSrcweir {
1996*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValMEASURE_TEXTVAUTO+nPos);
1997*cdf0e10cSrcweir }
1998*cdf0e10cSrcweir 
1999*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrMeasureTextVPosItem::GetPresentation(SfxItemPresentation ePres,
2000*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
2001*cdf0e10cSrcweir {
2002*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
2003*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
2004*cdf0e10cSrcweir 		String aStr;
2005*cdf0e10cSrcweir 
2006*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
2007*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
2008*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
2009*cdf0e10cSrcweir 	}
2010*cdf0e10cSrcweir 	return ePres;
2011*cdf0e10cSrcweir }
2012*cdf0e10cSrcweir 
2013*cdf0e10cSrcweir sal_Bool SdrMeasureTextVPosItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
2014*cdf0e10cSrcweir {
2015*cdf0e10cSrcweir 	rVal <<= (drawing::MeasureTextVertPos)GetValue();
2016*cdf0e10cSrcweir 	return sal_True;
2017*cdf0e10cSrcweir }
2018*cdf0e10cSrcweir 
2019*cdf0e10cSrcweir sal_Bool SdrMeasureTextVPosItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
2020*cdf0e10cSrcweir {
2021*cdf0e10cSrcweir 	drawing::MeasureTextVertPos ePos;
2022*cdf0e10cSrcweir 	if(!(rVal >>= ePos))
2023*cdf0e10cSrcweir 	{
2024*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
2025*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
2026*cdf0e10cSrcweir 			return sal_False;
2027*cdf0e10cSrcweir 
2028*cdf0e10cSrcweir 		ePos = (drawing::MeasureTextVertPos)nEnum;
2029*cdf0e10cSrcweir 	}
2030*cdf0e10cSrcweir 
2031*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrMeasureTextHPos)ePos ) );
2032*cdf0e10cSrcweir 	return sal_True;
2033*cdf0e10cSrcweir }
2034*cdf0e10cSrcweir 
2035*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrMeasureUnitItem,SfxEnumItem);
2036*cdf0e10cSrcweir 
2037*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureUnitItem::Clone(SfxItemPool* /*pPool*/) const            { return new SdrMeasureUnitItem(*this); }
2038*cdf0e10cSrcweir 
2039*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrMeasureUnitItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const   { return new SdrMeasureUnitItem(rIn); }
2040*cdf0e10cSrcweir 
2041*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrMeasureUnitItem::GetValueCount() const { return 14; }
2042*cdf0e10cSrcweir 
2043*cdf0e10cSrcweir XubString __EXPORT SdrMeasureUnitItem::GetValueTextByPos(sal_uInt16 nPos) const
2044*cdf0e10cSrcweir {
2045*cdf0e10cSrcweir 	XubString aRetval;
2046*cdf0e10cSrcweir 
2047*cdf0e10cSrcweir 	if((FieldUnit)nPos == FUNIT_NONE)
2048*cdf0e10cSrcweir 	{
2049*cdf0e10cSrcweir 		sal_Char aText[] = "default";
2050*cdf0e10cSrcweir 		aRetval += UniString(aText, sizeof(aText-1));
2051*cdf0e10cSrcweir 	}
2052*cdf0e10cSrcweir 	else
2053*cdf0e10cSrcweir 	{
2054*cdf0e10cSrcweir 		SdrFormatter::TakeUnitStr((FieldUnit)nPos, aRetval);
2055*cdf0e10cSrcweir 	}
2056*cdf0e10cSrcweir 
2057*cdf0e10cSrcweir 	return aRetval;
2058*cdf0e10cSrcweir }
2059*cdf0e10cSrcweir 
2060*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrMeasureUnitItem::GetPresentation(SfxItemPresentation ePres,
2061*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
2062*cdf0e10cSrcweir {
2063*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
2064*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
2065*cdf0e10cSrcweir 		String aStr;
2066*cdf0e10cSrcweir 
2067*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
2068*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
2069*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
2070*cdf0e10cSrcweir 	}
2071*cdf0e10cSrcweir 	return ePres;
2072*cdf0e10cSrcweir }
2073*cdf0e10cSrcweir 
2074*cdf0e10cSrcweir sal_Bool SdrMeasureUnitItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
2075*cdf0e10cSrcweir {
2076*cdf0e10cSrcweir 	rVal <<= (sal_Int32)GetValue();
2077*cdf0e10cSrcweir 	return sal_True;
2078*cdf0e10cSrcweir }
2079*cdf0e10cSrcweir 
2080*cdf0e10cSrcweir sal_Bool SdrMeasureUnitItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
2081*cdf0e10cSrcweir {
2082*cdf0e10cSrcweir 	sal_Int32 nMeasure = 0;
2083*cdf0e10cSrcweir 	if(!(rVal >>= nMeasure))
2084*cdf0e10cSrcweir 		return sal_False;
2085*cdf0e10cSrcweir 
2086*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (FieldUnit)nMeasure ) );
2087*cdf0e10cSrcweir 	return sal_True;
2088*cdf0e10cSrcweir }
2089*cdf0e10cSrcweir 
2090*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2091*cdf0e10cSrcweir // Circ
2092*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2093*cdf0e10cSrcweir 
2094*cdf0e10cSrcweir // CircKind
2095*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY(SdrCircKindItem,SfxEnumItem);
2096*cdf0e10cSrcweir 
2097*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCircKindItem::Clone(SfxItemPool* /*pPool*/) const          { return new SdrCircKindItem(*this); }
2098*cdf0e10cSrcweir 
2099*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrCircKindItem::Create(SvStream& rIn, sal_uInt16 /*nVer*/) const { return new SdrCircKindItem(rIn); }
2100*cdf0e10cSrcweir 
2101*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrCircKindItem::GetValueCount() const { return 4; }
2102*cdf0e10cSrcweir 
2103*cdf0e10cSrcweir XubString __EXPORT SdrCircKindItem::GetValueTextByPos(sal_uInt16 nPos) const
2104*cdf0e10cSrcweir {
2105*cdf0e10cSrcweir 	return ImpGetResStr(STR_ItemValCIRC_FULL+nPos);
2106*cdf0e10cSrcweir }
2107*cdf0e10cSrcweir 
2108*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrCircKindItem::GetPresentation(SfxItemPresentation ePres,
2109*cdf0e10cSrcweir                       SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/, XubString& rText, const IntlWrapper *) const
2110*cdf0e10cSrcweir {
2111*cdf0e10cSrcweir 	rText=GetValueTextByPos(sal::static_int_cast< sal_uInt16 >(GetValue()));
2112*cdf0e10cSrcweir 	if (ePres==SFX_ITEM_PRESENTATION_COMPLETE) {
2113*cdf0e10cSrcweir 		String aStr;
2114*cdf0e10cSrcweir 
2115*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
2116*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
2117*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
2118*cdf0e10cSrcweir 	}
2119*cdf0e10cSrcweir 	return ePres;
2120*cdf0e10cSrcweir }
2121*cdf0e10cSrcweir 
2122*cdf0e10cSrcweir sal_Bool SdrCircKindItem::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
2123*cdf0e10cSrcweir {
2124*cdf0e10cSrcweir 	rVal <<= (drawing::CircleKind)GetValue();
2125*cdf0e10cSrcweir 	return sal_True;
2126*cdf0e10cSrcweir }
2127*cdf0e10cSrcweir 
2128*cdf0e10cSrcweir sal_Bool SdrCircKindItem::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
2129*cdf0e10cSrcweir {
2130*cdf0e10cSrcweir 	drawing::CircleKind eKind;
2131*cdf0e10cSrcweir 	if(!(rVal >>= eKind))
2132*cdf0e10cSrcweir 	{
2133*cdf0e10cSrcweir 		sal_Int32 nEnum = 0;
2134*cdf0e10cSrcweir 		if(!(rVal >>= nEnum))
2135*cdf0e10cSrcweir 			return sal_False;
2136*cdf0e10cSrcweir 
2137*cdf0e10cSrcweir 		eKind = (drawing::CircleKind)nEnum;
2138*cdf0e10cSrcweir 	}
2139*cdf0e10cSrcweir 
2140*cdf0e10cSrcweir 	SetValue( sal::static_int_cast< sal_uInt16 >( (SdrCircKind)eKind ) );
2141*cdf0e10cSrcweir 	return sal_True;
2142*cdf0e10cSrcweir }
2143*cdf0e10cSrcweir 
2144*cdf0e10cSrcweir //------------------------------------------------------------
2145*cdf0e10cSrcweir // class SdrSignedPercentItem
2146*cdf0e10cSrcweir //------------------------------------------------------------
2147*cdf0e10cSrcweir 
2148*cdf0e10cSrcweir TYPEINIT1_AUTOFACTORY( SdrSignedPercentItem, SfxInt16Item );
2149*cdf0e10cSrcweir 
2150*cdf0e10cSrcweir 
2151*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrSignedPercentItem::Clone(SfxItemPool* /*pPool*/) const
2152*cdf0e10cSrcweir {
2153*cdf0e10cSrcweir 	return new SdrSignedPercentItem( Which(), GetValue() );
2154*cdf0e10cSrcweir }
2155*cdf0e10cSrcweir 
2156*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrSignedPercentItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2157*cdf0e10cSrcweir {
2158*cdf0e10cSrcweir 	return new SdrSignedPercentItem( Which(), rIn );
2159*cdf0e10cSrcweir }
2160*cdf0e10cSrcweir 
2161*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrSignedPercentItem::GetPresentation(
2162*cdf0e10cSrcweir 	SfxItemPresentation ePres, SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
2163*cdf0e10cSrcweir     XubString& rText, const IntlWrapper *) const
2164*cdf0e10cSrcweir {
2165*cdf0e10cSrcweir 	rText = UniString::CreateFromInt32(GetValue());
2166*cdf0e10cSrcweir 	rText += sal_Unicode('%');
2167*cdf0e10cSrcweir 
2168*cdf0e10cSrcweir 	if(ePres == SFX_ITEM_PRESENTATION_COMPLETE)
2169*cdf0e10cSrcweir 	{
2170*cdf0e10cSrcweir 		XubString aStr;
2171*cdf0e10cSrcweir 
2172*cdf0e10cSrcweir 		SdrItemPool::TakeItemName(Which(), aStr);
2173*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
2174*cdf0e10cSrcweir 		rText.Insert(aStr, 0);
2175*cdf0e10cSrcweir 	}
2176*cdf0e10cSrcweir 
2177*cdf0e10cSrcweir 	return ePres;
2178*cdf0e10cSrcweir }
2179*cdf0e10cSrcweir 
2180*cdf0e10cSrcweir #ifdef SDR_ISPOOLABLE
2181*cdf0e10cSrcweir 
2182*cdf0e10cSrcweir int __EXPORT SdrSignedPercentItem::IsPoolable() const
2183*cdf0e10cSrcweir {
2184*cdf0e10cSrcweir 	sal_uInt16 nId=Which();
2185*cdf0e10cSrcweir 	return nId < SDRATTR_NOTPERSIST_FIRST || nId > SDRATTR_NOTPERSIST_LAST;
2186*cdf0e10cSrcweir }
2187*cdf0e10cSrcweir #endif
2188*cdf0e10cSrcweir 
2189*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2190*cdf0e10cSrcweir // SdrGrafRedItem
2191*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2192*cdf0e10cSrcweir 
2193*cdf0e10cSrcweir TYPEINIT1( SdrGrafRedItem, SdrSignedPercentItem );
2194*cdf0e10cSrcweir 
2195*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafRedItem::Clone( SfxItemPool* /*pPool*/) const
2196*cdf0e10cSrcweir {
2197*cdf0e10cSrcweir 	return new SdrGrafRedItem( *this );
2198*cdf0e10cSrcweir }
2199*cdf0e10cSrcweir 
2200*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafRedItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2201*cdf0e10cSrcweir {
2202*cdf0e10cSrcweir 	return new SdrGrafRedItem( rIn );
2203*cdf0e10cSrcweir }
2204*cdf0e10cSrcweir 
2205*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2206*cdf0e10cSrcweir // SdrGrafGreenItem
2207*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2208*cdf0e10cSrcweir 
2209*cdf0e10cSrcweir TYPEINIT1( SdrGrafGreenItem, SdrSignedPercentItem );
2210*cdf0e10cSrcweir 
2211*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafGreenItem::Clone( SfxItemPool* /*pPool*/) const
2212*cdf0e10cSrcweir {
2213*cdf0e10cSrcweir 	return new SdrGrafGreenItem( *this );
2214*cdf0e10cSrcweir }
2215*cdf0e10cSrcweir 
2216*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafGreenItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2217*cdf0e10cSrcweir {
2218*cdf0e10cSrcweir 	return new SdrGrafGreenItem( rIn );
2219*cdf0e10cSrcweir }
2220*cdf0e10cSrcweir 
2221*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2222*cdf0e10cSrcweir // SdrGrafBlueItem
2223*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2224*cdf0e10cSrcweir 
2225*cdf0e10cSrcweir TYPEINIT1( SdrGrafBlueItem, SdrSignedPercentItem );
2226*cdf0e10cSrcweir 
2227*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafBlueItem::Clone( SfxItemPool* /*pPool*/) const
2228*cdf0e10cSrcweir {
2229*cdf0e10cSrcweir 	return new SdrGrafBlueItem( *this );
2230*cdf0e10cSrcweir }
2231*cdf0e10cSrcweir 
2232*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafBlueItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2233*cdf0e10cSrcweir {
2234*cdf0e10cSrcweir 	return new SdrGrafBlueItem( rIn );
2235*cdf0e10cSrcweir }
2236*cdf0e10cSrcweir 
2237*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2238*cdf0e10cSrcweir // SdrGrafLuminanceItem
2239*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2240*cdf0e10cSrcweir 
2241*cdf0e10cSrcweir TYPEINIT1( SdrGrafLuminanceItem, SdrSignedPercentItem );
2242*cdf0e10cSrcweir 
2243*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafLuminanceItem::Clone( SfxItemPool* /*pPool*/) const
2244*cdf0e10cSrcweir {
2245*cdf0e10cSrcweir 	return new SdrGrafLuminanceItem( *this );
2246*cdf0e10cSrcweir }
2247*cdf0e10cSrcweir 
2248*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafLuminanceItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2249*cdf0e10cSrcweir {
2250*cdf0e10cSrcweir 	return new SdrGrafLuminanceItem( rIn );
2251*cdf0e10cSrcweir }
2252*cdf0e10cSrcweir 
2253*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2254*cdf0e10cSrcweir // SdrGrafContrastItem
2255*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2256*cdf0e10cSrcweir 
2257*cdf0e10cSrcweir TYPEINIT1( SdrGrafContrastItem, SdrSignedPercentItem );
2258*cdf0e10cSrcweir 
2259*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafContrastItem::Clone( SfxItemPool* /*pPool*/) const
2260*cdf0e10cSrcweir {
2261*cdf0e10cSrcweir 	return new SdrGrafContrastItem( *this );
2262*cdf0e10cSrcweir }
2263*cdf0e10cSrcweir 
2264*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafContrastItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2265*cdf0e10cSrcweir {
2266*cdf0e10cSrcweir 	return new SdrGrafContrastItem( rIn );
2267*cdf0e10cSrcweir }
2268*cdf0e10cSrcweir 
2269*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2270*cdf0e10cSrcweir // SdrGrafGamma100Item
2271*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2272*cdf0e10cSrcweir 
2273*cdf0e10cSrcweir TYPEINIT1( SdrGrafGamma100Item, SfxUInt32Item );
2274*cdf0e10cSrcweir 
2275*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafGamma100Item::Clone( SfxItemPool* /*pPool */) const
2276*cdf0e10cSrcweir {
2277*cdf0e10cSrcweir 	return new SdrGrafGamma100Item( *this );
2278*cdf0e10cSrcweir }
2279*cdf0e10cSrcweir 
2280*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafGamma100Item::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2281*cdf0e10cSrcweir {
2282*cdf0e10cSrcweir 	return new SdrGrafGamma100Item( rIn );
2283*cdf0e10cSrcweir }
2284*cdf0e10cSrcweir 
2285*cdf0e10cSrcweir sal_Bool SdrGrafGamma100Item::QueryValue( uno::Any& rVal, sal_uInt8 /*nMemberId*/) const
2286*cdf0e10cSrcweir {
2287*cdf0e10cSrcweir 	rVal <<= ((double)GetValue()) / 100.0;
2288*cdf0e10cSrcweir 	return sal_True;
2289*cdf0e10cSrcweir }
2290*cdf0e10cSrcweir 
2291*cdf0e10cSrcweir sal_Bool SdrGrafGamma100Item::PutValue( const uno::Any& rVal, sal_uInt8 /*nMemberId*/)
2292*cdf0e10cSrcweir {
2293*cdf0e10cSrcweir 	double nGamma = 0;
2294*cdf0e10cSrcweir 	if(!(rVal >>= nGamma))
2295*cdf0e10cSrcweir 		return sal_False;
2296*cdf0e10cSrcweir 
2297*cdf0e10cSrcweir 	SetValue( (sal_uInt32)(nGamma * 100.0  ) );
2298*cdf0e10cSrcweir 	return sal_True;
2299*cdf0e10cSrcweir }
2300*cdf0e10cSrcweir 
2301*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2302*cdf0e10cSrcweir // SdrGrafInvertItem
2303*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2304*cdf0e10cSrcweir 
2305*cdf0e10cSrcweir TYPEINIT1( SdrGrafInvertItem, SdrOnOffItem );
2306*cdf0e10cSrcweir 
2307*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafInvertItem::Clone( SfxItemPool* /*pPool*/) const
2308*cdf0e10cSrcweir {
2309*cdf0e10cSrcweir 	return new SdrGrafInvertItem( *this );
2310*cdf0e10cSrcweir }
2311*cdf0e10cSrcweir 
2312*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafInvertItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2313*cdf0e10cSrcweir {
2314*cdf0e10cSrcweir 	return new SdrGrafInvertItem( rIn );
2315*cdf0e10cSrcweir }
2316*cdf0e10cSrcweir 
2317*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2318*cdf0e10cSrcweir // SdrGrafTransparenceItem
2319*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2320*cdf0e10cSrcweir 
2321*cdf0e10cSrcweir TYPEINIT1( SdrGrafTransparenceItem, SdrPercentItem );
2322*cdf0e10cSrcweir 
2323*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafTransparenceItem::Clone( SfxItemPool* /*pPool*/) const
2324*cdf0e10cSrcweir {
2325*cdf0e10cSrcweir 	return new SdrGrafTransparenceItem( *this );
2326*cdf0e10cSrcweir }
2327*cdf0e10cSrcweir 
2328*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafTransparenceItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2329*cdf0e10cSrcweir {
2330*cdf0e10cSrcweir 	return new SdrGrafTransparenceItem( rIn );
2331*cdf0e10cSrcweir }
2332*cdf0e10cSrcweir 
2333*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2334*cdf0e10cSrcweir // SdrGrafModeItem
2335*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2336*cdf0e10cSrcweir 
2337*cdf0e10cSrcweir TYPEINIT1( SdrGrafModeItem, SfxEnumItem );
2338*cdf0e10cSrcweir 
2339*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafModeItem::Clone(SfxItemPool* /*pPool*/) const
2340*cdf0e10cSrcweir {
2341*cdf0e10cSrcweir 	return new SdrGrafModeItem( *this );
2342*cdf0e10cSrcweir }
2343*cdf0e10cSrcweir 
2344*cdf0e10cSrcweir SfxPoolItem* __EXPORT SdrGrafModeItem::Create( SvStream& rIn, sal_uInt16 /*nVer*/) const
2345*cdf0e10cSrcweir {
2346*cdf0e10cSrcweir 	return new SdrGrafModeItem( rIn );
2347*cdf0e10cSrcweir }
2348*cdf0e10cSrcweir 
2349*cdf0e10cSrcweir sal_uInt16 __EXPORT SdrGrafModeItem::GetValueCount() const
2350*cdf0e10cSrcweir {
2351*cdf0e10cSrcweir 	return 4;
2352*cdf0e10cSrcweir }
2353*cdf0e10cSrcweir 
2354*cdf0e10cSrcweir XubString __EXPORT SdrGrafModeItem::GetValueTextByPos(sal_uInt16 nPos) const
2355*cdf0e10cSrcweir {
2356*cdf0e10cSrcweir 	XubString aStr;
2357*cdf0e10cSrcweir 
2358*cdf0e10cSrcweir 	switch(nPos)
2359*cdf0e10cSrcweir 	{
2360*cdf0e10cSrcweir 		case 1:
2361*cdf0e10cSrcweir 		{
2362*cdf0e10cSrcweir 			sal_Char aTextGreys[] = "Greys";
2363*cdf0e10cSrcweir 			aStr += UniString(aTextGreys, sizeof(aTextGreys-1));
2364*cdf0e10cSrcweir 			break;
2365*cdf0e10cSrcweir 		}
2366*cdf0e10cSrcweir 		case 2:
2367*cdf0e10cSrcweir 		{
2368*cdf0e10cSrcweir 			sal_Char aTextBlackWhite[] = "Black/White";
2369*cdf0e10cSrcweir 			aStr += UniString(aTextBlackWhite, sizeof(aTextBlackWhite-1));
2370*cdf0e10cSrcweir 			break;
2371*cdf0e10cSrcweir 		}
2372*cdf0e10cSrcweir 		case 3:
2373*cdf0e10cSrcweir 		{
2374*cdf0e10cSrcweir 			sal_Char aTextWatermark[] = "Watermark";
2375*cdf0e10cSrcweir 			aStr += UniString(aTextWatermark, sizeof(aTextWatermark-1));
2376*cdf0e10cSrcweir 			break;
2377*cdf0e10cSrcweir 		}
2378*cdf0e10cSrcweir 		default:
2379*cdf0e10cSrcweir 		{
2380*cdf0e10cSrcweir 			sal_Char aTextStandard[] = "Standard";
2381*cdf0e10cSrcweir 			aStr += UniString(aTextStandard, sizeof(aTextStandard-1));
2382*cdf0e10cSrcweir 			break;
2383*cdf0e10cSrcweir 		}
2384*cdf0e10cSrcweir 	}
2385*cdf0e10cSrcweir 
2386*cdf0e10cSrcweir 	return aStr;
2387*cdf0e10cSrcweir }
2388*cdf0e10cSrcweir 
2389*cdf0e10cSrcweir SfxItemPresentation __EXPORT SdrGrafModeItem::GetPresentation( SfxItemPresentation ePres,
2390*cdf0e10cSrcweir 															   SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
2391*cdf0e10cSrcweir                                                                XubString& rText, const IntlWrapper *) const
2392*cdf0e10cSrcweir {
2393*cdf0e10cSrcweir 	rText = GetValueTextByPos( sal::static_int_cast< sal_uInt16 >( GetValue() ) );
2394*cdf0e10cSrcweir 
2395*cdf0e10cSrcweir 	if( ePres == SFX_ITEM_PRESENTATION_COMPLETE )
2396*cdf0e10cSrcweir 	{
2397*cdf0e10cSrcweir 		String aStr;
2398*cdf0e10cSrcweir 
2399*cdf0e10cSrcweir 		SdrItemPool::TakeItemName( Which(), aStr );
2400*cdf0e10cSrcweir 		aStr += sal_Unicode(' ');
2401*cdf0e10cSrcweir 		rText.Insert( aStr, 0 );
2402*cdf0e10cSrcweir 	}
2403*cdf0e10cSrcweir 
2404*cdf0e10cSrcweir 	return ePres;
2405*cdf0e10cSrcweir }
2406*cdf0e10cSrcweir 
2407*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2408*cdf0e10cSrcweir // SdrGrafCropItem
2409*cdf0e10cSrcweir //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2410*cdf0e10cSrcweir 
2411*cdf0e10cSrcweir TYPEINIT1( SdrGrafCropItem, SvxGrfCrop );
2412*cdf0e10cSrcweir 
2413*cdf0e10cSrcweir SfxPoolItem* SdrGrafCropItem::Clone( SfxItemPool* /*pPool*/) const
2414*cdf0e10cSrcweir {
2415*cdf0e10cSrcweir 	return new SdrGrafCropItem( *this );
2416*cdf0e10cSrcweir }
2417*cdf0e10cSrcweir 
2418*cdf0e10cSrcweir SfxPoolItem* SdrGrafCropItem::Create( SvStream& rIn, sal_uInt16 nVer ) const
2419*cdf0e10cSrcweir {
2420*cdf0e10cSrcweir 	return( ( 0 == nVer ) ? Clone( NULL ) : SvxGrfCrop::Create( rIn, nVer ) );
2421*cdf0e10cSrcweir }
2422*cdf0e10cSrcweir 
2423*cdf0e10cSrcweir sal_uInt16 SdrGrafCropItem::GetVersion( sal_uInt16 /*nFileVersion*/) const
2424*cdf0e10cSrcweir {
2425*cdf0e10cSrcweir 	// GRFCROP_VERSION_MOVETOSVX is 1
2426*cdf0e10cSrcweir 	return GRFCROP_VERSION_MOVETOSVX;
2427*cdf0e10cSrcweir }
2428*cdf0e10cSrcweir 
2429*cdf0e10cSrcweir // eof
2430