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