xref: /aoo41x/main/cui/source/tabpages/labdlg.cxx (revision cdf0e10c)
1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_cui.hxx"
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir // include ---------------------------------------------------------------
32*cdf0e10cSrcweir #include <tools/shl.hxx>
33*cdf0e10cSrcweir #include <sfx2/app.hxx>
34*cdf0e10cSrcweir #include <sfx2/module.hxx>
35*cdf0e10cSrcweir #include <swpossizetabpage.hxx>
36*cdf0e10cSrcweir #include <svx/dialogs.hrc>
37*cdf0e10cSrcweir #define _SVX_LABDLG_CXX
38*cdf0e10cSrcweir 
39*cdf0e10cSrcweir #include <svx/svdattrx.hxx>
40*cdf0e10cSrcweir #include <cuires.hrc>
41*cdf0e10cSrcweir #include <dialmgr.hxx>
42*cdf0e10cSrcweir #include "svx/dlgutil.hxx"
43*cdf0e10cSrcweir #include "transfrm.hxx"
44*cdf0e10cSrcweir 
45*cdf0e10cSrcweir #include "labdlg.hrc"
46*cdf0e10cSrcweir #include "labdlg.hxx"
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir // define ----------------------------------------------------------------
49*cdf0e10cSrcweir 
50*cdf0e10cSrcweir #define AZ_OPTIMAL		0
51*cdf0e10cSrcweir #define AZ_VON_OBEN		1
52*cdf0e10cSrcweir #define AZ_VON_LINKS	2
53*cdf0e10cSrcweir #define AZ_HORIZONTAL	3
54*cdf0e10cSrcweir #define AZ_VERTIKAL		4
55*cdf0e10cSrcweir 
56*cdf0e10cSrcweir #define AT_OBEN			0
57*cdf0e10cSrcweir #define AT_MITTE		1
58*cdf0e10cSrcweir #define AT_UNTEN		2
59*cdf0e10cSrcweir 
60*cdf0e10cSrcweir #define WK_OPTIMAL		0
61*cdf0e10cSrcweir #define WK_30			1
62*cdf0e10cSrcweir #define WK_45			2
63*cdf0e10cSrcweir #define WK_60			3
64*cdf0e10cSrcweir #define WK_90			4
65*cdf0e10cSrcweir 
66*cdf0e10cSrcweir // static ----------------------------------------------------------------
67*cdf0e10cSrcweir 
68*cdf0e10cSrcweir static sal_uInt16 pCaptionRanges[] =
69*cdf0e10cSrcweir {
70*cdf0e10cSrcweir 	SDRATTR_CAPTIONTYPE,
71*cdf0e10cSrcweir 	SDRATTR_CAPTIONFIXEDANGLE,
72*cdf0e10cSrcweir 	SDRATTR_CAPTIONANGLE,
73*cdf0e10cSrcweir 	SDRATTR_CAPTIONGAP,
74*cdf0e10cSrcweir 	SDRATTR_CAPTIONESCDIR,
75*cdf0e10cSrcweir 	SDRATTR_CAPTIONESCISREL,
76*cdf0e10cSrcweir 	SDRATTR_CAPTIONESCREL,
77*cdf0e10cSrcweir 	SDRATTR_CAPTIONESCABS,
78*cdf0e10cSrcweir 	SDRATTR_CAPTIONLINELEN,
79*cdf0e10cSrcweir 	SDRATTR_CAPTIONFITLINELEN,
80*cdf0e10cSrcweir 	0
81*cdf0e10cSrcweir };
82*cdf0e10cSrcweir 
83*cdf0e10cSrcweir // -----------------------------------------------------------------------
84*cdf0e10cSrcweir 
85*cdf0e10cSrcweir SvxCaptionTabPage::SvxCaptionTabPage(Window* pParent, const SfxItemSet& rInAttrs)
86*cdf0e10cSrcweir  :	SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_CAPTION ), rInAttrs ),
87*cdf0e10cSrcweir 
88*cdf0e10cSrcweir 	aCT_CAPTTYPE(		this, CUI_RES( CT_CAPTTYPE ) ),
89*cdf0e10cSrcweir 	aFT_ABSTAND(		this, CUI_RES( FT_ABSTAND ) ),
90*cdf0e10cSrcweir 	aMF_ABSTAND(		this, CUI_RES( MF_ABSTAND ) ),
91*cdf0e10cSrcweir 	aFT_WINKEL(			this, CUI_RES( FT_WINKEL ) ),
92*cdf0e10cSrcweir 	aLB_WINKEL(			this, CUI_RES( LB_WINKEL ) ),
93*cdf0e10cSrcweir 	aFT_ANSATZ(			this, CUI_RES( FT_ANSATZ ) ),
94*cdf0e10cSrcweir 	aLB_ANSATZ(			this, CUI_RES( LB_ANSATZ ) ),
95*cdf0e10cSrcweir 	aFT_UM(				this, CUI_RES( FT_UM ) ),
96*cdf0e10cSrcweir 	aMF_ANSATZ(			this, CUI_RES( MF_ANSATZ ) ),
97*cdf0e10cSrcweir 	aFT_ANSATZ_REL(		this, CUI_RES( FT_ANSATZ_REL ) ),
98*cdf0e10cSrcweir 	aLB_ANSATZ_REL(		this, CUI_RES( LB_ANSATZ_REL ) ),
99*cdf0e10cSrcweir 	aFT_LAENGE(			this, CUI_RES( FT_LAENGE ) ),
100*cdf0e10cSrcweir 	aMF_LAENGE(			this, CUI_RES( MF_LAENGE ) ),
101*cdf0e10cSrcweir 	aCB_LAENGE(			this, CUI_RES( CB_LAENGE ) ),
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir 	aStrHorzList( CUI_RES(STR_HORZ_LIST) ),
104*cdf0e10cSrcweir 	aStrVertList( CUI_RES(STR_VERT_LIST) ),
105*cdf0e10cSrcweir 
106*cdf0e10cSrcweir 	rOutAttrs		( rInAttrs )
107*cdf0e10cSrcweir {
108*cdf0e10cSrcweir 	//------------NYI-------------------------------------------
109*cdf0e10cSrcweir 	aFT_WINKEL.Hide();
110*cdf0e10cSrcweir 	aLB_WINKEL.Hide();
111*cdf0e10cSrcweir 
112*cdf0e10cSrcweir 	//------------Positionen korrigieren-------------------------
113*cdf0e10cSrcweir 	aFT_ANSATZ_REL.SetPosPixel( aFT_UM.GetPosPixel() );
114*cdf0e10cSrcweir 	aLB_ANSATZ_REL.SetPosPixel(
115*cdf0e10cSrcweir 		Point(
116*cdf0e10cSrcweir 			aFT_ANSATZ_REL.GetPosPixel().X()+aFT_ANSATZ_REL.GetSizePixel().Width()+6,
117*cdf0e10cSrcweir 			aLB_ANSATZ.GetPosPixel().Y() )
118*cdf0e10cSrcweir 		);
119*cdf0e10cSrcweir 
120*cdf0e10cSrcweir 	aMF_ANSATZ.SetPosPixel(
121*cdf0e10cSrcweir 		Point(
122*cdf0e10cSrcweir 			aFT_UM.GetPosPixel().X()+aFT_UM.GetSizePixel().Width()+6,
123*cdf0e10cSrcweir 			aLB_ANSATZ.GetPosPixel().Y() )
124*cdf0e10cSrcweir 		);
125*cdf0e10cSrcweir 
126*cdf0e10cSrcweir 	sal_uInt16 nBitmap;
127*cdf0e10cSrcweir 	for( nBitmap = 0; nBitmap < CAPTYPE_BITMAPS_COUNT; nBitmap++ )
128*cdf0e10cSrcweir 	{
129*cdf0e10cSrcweir 		mpBmpCapTypes[nBitmap]  = new Image(Bitmap(CUI_RES(BMP_CAPTTYPE_1   + nBitmap)), COL_LIGHTMAGENTA );
130*cdf0e10cSrcweir 		mpBmpCapTypesH[nBitmap] = new Image(Bitmap(CUI_RES(BMP_CAPTTYPE_1_H + nBitmap)), COL_LIGHTMAGENTA );
131*cdf0e10cSrcweir 	}
132*cdf0e10cSrcweir 
133*cdf0e10cSrcweir 	//------------ValueSet installieren--------------------------
134*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetStyle( aCT_CAPTTYPE.GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER | WB_NAMEFIELD );
135*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetColCount(5);//XXX
136*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetLineCount(1);
137*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetSelectHdl(LINK( this, SvxCaptionTabPage, SelectCaptTypeHdl_Impl));
138*cdf0e10cSrcweir 
139*cdf0e10cSrcweir 	Image aImage;
140*cdf0e10cSrcweir 	aCT_CAPTTYPE.InsertItem(BMP_CAPTTYPE_1, aImage,	String(CUI_RES(STR_CAPTTYPE_1)));
141*cdf0e10cSrcweir 	aCT_CAPTTYPE.InsertItem(BMP_CAPTTYPE_2,	aImage,	String(CUI_RES(STR_CAPTTYPE_2)));
142*cdf0e10cSrcweir 	aCT_CAPTTYPE.InsertItem(BMP_CAPTTYPE_3,	aImage,	String(CUI_RES(STR_CAPTTYPE_3)));
143*cdf0e10cSrcweir 
144*cdf0e10cSrcweir 	FillValueSet();
145*cdf0e10cSrcweir 
146*cdf0e10cSrcweir 	aLB_ANSATZ.SetSelectHdl(LINK(this,SvxCaptionTabPage,AnsatzSelectHdl_Impl));
147*cdf0e10cSrcweir 	aLB_ANSATZ_REL.SetSelectHdl(LINK(this,SvxCaptionTabPage,AnsatzRelSelectHdl_Impl));
148*cdf0e10cSrcweir 	aCB_LAENGE.SetClickHdl(LINK(this,SvxCaptionTabPage,LineOptHdl_Impl));
149*cdf0e10cSrcweir 
150*cdf0e10cSrcweir 	FreeResource();
151*cdf0e10cSrcweir }
152*cdf0e10cSrcweir 
153*cdf0e10cSrcweir // -----------------------------------------------------------------------
154*cdf0e10cSrcweir 
155*cdf0e10cSrcweir SvxCaptionTabPage::~SvxCaptionTabPage()
156*cdf0e10cSrcweir {
157*cdf0e10cSrcweir 	sal_uInt16 nBitmap;
158*cdf0e10cSrcweir 	for( nBitmap = 0; nBitmap < CAPTYPE_BITMAPS_COUNT; nBitmap++ )
159*cdf0e10cSrcweir 	{
160*cdf0e10cSrcweir 		delete mpBmpCapTypes[nBitmap];
161*cdf0e10cSrcweir 		delete mpBmpCapTypesH[nBitmap];
162*cdf0e10cSrcweir 	}
163*cdf0e10cSrcweir }
164*cdf0e10cSrcweir 
165*cdf0e10cSrcweir // -----------------------------------------------------------------------
166*cdf0e10cSrcweir 
167*cdf0e10cSrcweir void SvxCaptionTabPage::Construct()
168*cdf0e10cSrcweir {
169*cdf0e10cSrcweir 	// Setzen des Rechtecks und der Workingarea
170*cdf0e10cSrcweir 	DBG_ASSERT( pView, "Keine gueltige View Uebergeben!" );
171*cdf0e10cSrcweir }
172*cdf0e10cSrcweir 
173*cdf0e10cSrcweir // -----------------------------------------------------------------------
174*cdf0e10cSrcweir 
175*cdf0e10cSrcweir sal_Bool SvxCaptionTabPage::FillItemSet( SfxItemSet&  _rOutAttrs)
176*cdf0e10cSrcweir {
177*cdf0e10cSrcweir     SfxItemPool*    pPool = _rOutAttrs.GetPool();
178*cdf0e10cSrcweir 	DBG_ASSERT( pPool, "Wo ist der Pool" );
179*cdf0e10cSrcweir 
180*cdf0e10cSrcweir 	SfxMapUnit		eUnit;
181*cdf0e10cSrcweir 
182*cdf0e10cSrcweir 	nCaptionType = aCT_CAPTTYPE.GetSelectItemId()-1;
183*cdf0e10cSrcweir 
184*cdf0e10cSrcweir     _rOutAttrs.Put( SdrCaptionTypeItem( (SdrCaptionType) nCaptionType ) );
185*cdf0e10cSrcweir 
186*cdf0e10cSrcweir 	if( aMF_ABSTAND.IsValueModified() )
187*cdf0e10cSrcweir 	{
188*cdf0e10cSrcweir 		eUnit = pPool->GetMetric( GetWhich( SDRATTR_CAPTIONGAP ) );
189*cdf0e10cSrcweir         _rOutAttrs.Put( SdrCaptionGapItem( GetCoreValue(aMF_ABSTAND, eUnit ) ) );
190*cdf0e10cSrcweir 	}
191*cdf0e10cSrcweir 
192*cdf0e10cSrcweir 	// Sonderbehandlung!!! XXX
193*cdf0e10cSrcweir 	if( nCaptionType==SDRCAPT_TYPE1 )
194*cdf0e10cSrcweir 	{
195*cdf0e10cSrcweir 		switch( nEscDir )
196*cdf0e10cSrcweir 		{
197*cdf0e10cSrcweir 			case SDRCAPT_ESCHORIZONTAL:		nEscDir=SDRCAPT_ESCVERTICAL;break;
198*cdf0e10cSrcweir 			case SDRCAPT_ESCVERTICAL:		nEscDir=SDRCAPT_ESCHORIZONTAL;break;
199*cdf0e10cSrcweir 		}
200*cdf0e10cSrcweir 	}
201*cdf0e10cSrcweir 
202*cdf0e10cSrcweir     _rOutAttrs.Put( SdrCaptionEscDirItem( (SdrCaptionEscDir)nEscDir ) );
203*cdf0e10cSrcweir 
204*cdf0e10cSrcweir 	bEscRel = aLB_ANSATZ_REL.IsVisible();
205*cdf0e10cSrcweir     _rOutAttrs.Put( SdrCaptionEscIsRelItem( bEscRel ) );
206*cdf0e10cSrcweir 
207*cdf0e10cSrcweir 	if( bEscRel )
208*cdf0e10cSrcweir 	{
209*cdf0e10cSrcweir 		long	nVal = 0;
210*cdf0e10cSrcweir 
211*cdf0e10cSrcweir 		switch( aLB_ANSATZ_REL.GetSelectEntryPos() )
212*cdf0e10cSrcweir 		{
213*cdf0e10cSrcweir 			case AT_OBEN:	nVal=0;break;
214*cdf0e10cSrcweir 			case AT_MITTE:	nVal=5000;break;
215*cdf0e10cSrcweir 			case AT_UNTEN:	nVal=10000;break;
216*cdf0e10cSrcweir 		}
217*cdf0e10cSrcweir         _rOutAttrs.Put( SdrCaptionEscRelItem( nVal ) );
218*cdf0e10cSrcweir 	}
219*cdf0e10cSrcweir 	else
220*cdf0e10cSrcweir 	{
221*cdf0e10cSrcweir 		if( aMF_ANSATZ.IsValueModified() )
222*cdf0e10cSrcweir 		{
223*cdf0e10cSrcweir 			eUnit = pPool->GetMetric( GetWhich( SDRATTR_CAPTIONESCABS ) );
224*cdf0e10cSrcweir             _rOutAttrs.Put( SdrCaptionEscAbsItem( GetCoreValue(aMF_ANSATZ, eUnit ) ) );
225*cdf0e10cSrcweir 		}
226*cdf0e10cSrcweir 	}
227*cdf0e10cSrcweir 
228*cdf0e10cSrcweir 	bFitLineLen = aCB_LAENGE.IsChecked();
229*cdf0e10cSrcweir     _rOutAttrs.Put( SdrCaptionFitLineLenItem( bFitLineLen ) );
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir 	if( ! bFitLineLen )
232*cdf0e10cSrcweir 	{
233*cdf0e10cSrcweir 		if( aMF_LAENGE.IsValueModified() )
234*cdf0e10cSrcweir 		{
235*cdf0e10cSrcweir 			eUnit = pPool->GetMetric( GetWhich( SDRATTR_CAPTIONLINELEN ) );
236*cdf0e10cSrcweir             _rOutAttrs.Put( SdrCaptionLineLenItem( GetCoreValue(aMF_LAENGE, eUnit ) ) );
237*cdf0e10cSrcweir 		}
238*cdf0e10cSrcweir 	}
239*cdf0e10cSrcweir 
240*cdf0e10cSrcweir //NYI-------------die Winkel muessen noch hier rein!!! XXX----------------------
241*cdf0e10cSrcweir 
242*cdf0e10cSrcweir 	return( sal_True );
243*cdf0e10cSrcweir }
244*cdf0e10cSrcweir 
245*cdf0e10cSrcweir // -----------------------------------------------------------------------
246*cdf0e10cSrcweir 
247*cdf0e10cSrcweir void SvxCaptionTabPage::Reset( const SfxItemSet&  )
248*cdf0e10cSrcweir {
249*cdf0e10cSrcweir 
250*cdf0e10cSrcweir 	//------------Metrik einstellen-----------------------------
251*cdf0e10cSrcweir 
252*cdf0e10cSrcweir 	FieldUnit eFUnit = GetModuleFieldUnit( rOutAttrs );
253*cdf0e10cSrcweir 
254*cdf0e10cSrcweir 	switch ( eFUnit )
255*cdf0e10cSrcweir 	{
256*cdf0e10cSrcweir 		case FUNIT_CM:
257*cdf0e10cSrcweir 		case FUNIT_M:
258*cdf0e10cSrcweir 		case FUNIT_KM:
259*cdf0e10cSrcweir 			eFUnit = FUNIT_MM;
260*cdf0e10cSrcweir 			break;
261*cdf0e10cSrcweir         default: ;//prevent warning
262*cdf0e10cSrcweir 	}
263*cdf0e10cSrcweir 	SetFieldUnit( aMF_ABSTAND, eFUnit );
264*cdf0e10cSrcweir 	SetFieldUnit( aMF_ANSATZ, eFUnit );
265*cdf0e10cSrcweir 	SetFieldUnit( aMF_LAENGE, eFUnit );
266*cdf0e10cSrcweir 
267*cdf0e10cSrcweir 	SfxItemPool* 	pPool = rOutAttrs.GetPool();
268*cdf0e10cSrcweir 	DBG_ASSERT( pPool, "Wo ist der Pool" );
269*cdf0e10cSrcweir 
270*cdf0e10cSrcweir 	sal_uInt16			nWhich;
271*cdf0e10cSrcweir 	SfxMapUnit		eUnit;
272*cdf0e10cSrcweir 
273*cdf0e10cSrcweir 	//------- Winkel ----------
274*cdf0e10cSrcweir 	nWhich = GetWhich( SDRATTR_CAPTIONANGLE );
275*cdf0e10cSrcweir 	nFixedAngle = ( ( const SdrCaptionAngleItem& ) rOutAttrs.Get( nWhich ) ).GetValue();
276*cdf0e10cSrcweir 
277*cdf0e10cSrcweir 	//------- absolute Ansatzentfernung ----------
278*cdf0e10cSrcweir 	nWhich = GetWhich( SDRATTR_CAPTIONESCABS );
279*cdf0e10cSrcweir 	eUnit = pPool->GetMetric( nWhich );
280*cdf0e10cSrcweir 	nEscAbs = ( ( const SdrCaptionEscAbsItem& ) rOutAttrs.Get( nWhich ) ).GetValue();
281*cdf0e10cSrcweir 	SetMetricValue( aMF_ANSATZ, nEscAbs, eUnit );
282*cdf0e10cSrcweir 	nEscAbs = static_cast<long>(aMF_ANSATZ.GetValue());
283*cdf0e10cSrcweir 
284*cdf0e10cSrcweir 	//------- relative Ansatzentfernung ----------
285*cdf0e10cSrcweir 	nWhich = GetWhich( SDRATTR_CAPTIONESCREL );
286*cdf0e10cSrcweir 	nEscRel = (long)( ( const SdrCaptionEscRelItem& ) rOutAttrs.Get( nWhich ) ).GetValue();
287*cdf0e10cSrcweir 
288*cdf0e10cSrcweir 	//------- Linienlaenge ----------
289*cdf0e10cSrcweir 	nWhich = GetWhich( SDRATTR_CAPTIONLINELEN );
290*cdf0e10cSrcweir 	eUnit = pPool->GetMetric( nWhich );
291*cdf0e10cSrcweir 	nLineLen = ( ( const SdrCaptionLineLenItem& ) rOutAttrs.Get( nWhich ) ).GetValue();
292*cdf0e10cSrcweir 	SetMetricValue( aMF_LAENGE, nLineLen, eUnit );
293*cdf0e10cSrcweir 	nLineLen = static_cast<long>(aMF_LAENGE.GetValue());
294*cdf0e10cSrcweir 
295*cdf0e10cSrcweir 	//------- Abstand zur Box ----------
296*cdf0e10cSrcweir 	nWhich = GetWhich( SDRATTR_CAPTIONGAP );
297*cdf0e10cSrcweir 	eUnit = pPool->GetMetric( nWhich );
298*cdf0e10cSrcweir 	nGap = ( ( const SdrCaptionGapItem& ) rOutAttrs.Get( nWhich ) ).GetValue();
299*cdf0e10cSrcweir 	SetMetricValue( aMF_ABSTAND, nGap, eUnit );
300*cdf0e10cSrcweir 	nGap = static_cast<long>(aMF_ABSTAND.GetValue());
301*cdf0e10cSrcweir 
302*cdf0e10cSrcweir 	nCaptionType = (short)( ( const SdrCaptionTypeItem& ) rOutAttrs.Get( GetWhich( SDRATTR_CAPTIONTYPE ) ) ).GetValue();
303*cdf0e10cSrcweir 	bFixedAngle = ( ( const SfxBoolItem& ) rOutAttrs.Get( GetWhich( SDRATTR_CAPTIONFIXEDANGLE ) ) ).GetValue();
304*cdf0e10cSrcweir 	bFitLineLen = ( ( const SfxBoolItem& ) rOutAttrs.Get( GetWhich( SDRATTR_CAPTIONFITLINELEN ) ) ).GetValue();
305*cdf0e10cSrcweir 	nEscDir = (short)( ( const SdrCaptionEscDirItem& ) rOutAttrs.Get( GetWhich( SDRATTR_CAPTIONESCDIR ) ) ).GetValue();
306*cdf0e10cSrcweir 	bEscRel = ( ( const SfxBoolItem& ) rOutAttrs.Get( GetWhich( SDRATTR_CAPTIONESCISREL ) ) ).GetValue();
307*cdf0e10cSrcweir 
308*cdf0e10cSrcweir 	// Sonderbehandlung!!! XXX
309*cdf0e10cSrcweir 	if( nCaptionType==SDRCAPT_TYPE1 )
310*cdf0e10cSrcweir 	{
311*cdf0e10cSrcweir 		switch( nEscDir )
312*cdf0e10cSrcweir 		{
313*cdf0e10cSrcweir 			case SDRCAPT_ESCHORIZONTAL:		nEscDir=SDRCAPT_ESCVERTICAL;break;
314*cdf0e10cSrcweir 			case SDRCAPT_ESCVERTICAL:		nEscDir=SDRCAPT_ESCHORIZONTAL;break;
315*cdf0e10cSrcweir 		}
316*cdf0e10cSrcweir 	}
317*cdf0e10cSrcweir 
318*cdf0e10cSrcweir 	nAnsatzRelPos=AT_MITTE;
319*cdf0e10cSrcweir 	nAnsatzTypePos=AZ_OPTIMAL;
320*cdf0e10cSrcweir 	nWinkelTypePos=WK_OPTIMAL;
321*cdf0e10cSrcweir 
322*cdf0e10cSrcweir 	aMF_ABSTAND.SetValue( nGap );
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 	if( nEscDir == SDRCAPT_ESCHORIZONTAL )
325*cdf0e10cSrcweir 	{
326*cdf0e10cSrcweir 		if( bEscRel )
327*cdf0e10cSrcweir 		{
328*cdf0e10cSrcweir 			if( nEscRel < 3333 )
329*cdf0e10cSrcweir 				nAnsatzRelPos = AT_OBEN;
330*cdf0e10cSrcweir 			if( nEscRel > 6666 )
331*cdf0e10cSrcweir 				nAnsatzRelPos = AT_UNTEN;
332*cdf0e10cSrcweir 			nAnsatzTypePos = AZ_HORIZONTAL;
333*cdf0e10cSrcweir 		}
334*cdf0e10cSrcweir 		else
335*cdf0e10cSrcweir 		{
336*cdf0e10cSrcweir 			nAnsatzTypePos = AZ_VON_OBEN;
337*cdf0e10cSrcweir 			aMF_ANSATZ.SetValue( nEscAbs );
338*cdf0e10cSrcweir 		}
339*cdf0e10cSrcweir 	}
340*cdf0e10cSrcweir 	else if( nEscDir == SDRCAPT_ESCVERTICAL )
341*cdf0e10cSrcweir 	{
342*cdf0e10cSrcweir 		if( bEscRel )
343*cdf0e10cSrcweir 		{
344*cdf0e10cSrcweir 			if( nEscRel < 3333 )
345*cdf0e10cSrcweir 				nAnsatzRelPos = AT_OBEN;
346*cdf0e10cSrcweir 			if( nEscRel > 6666 )
347*cdf0e10cSrcweir 				nAnsatzRelPos = AT_UNTEN;
348*cdf0e10cSrcweir 			nAnsatzTypePos = AZ_VERTIKAL;
349*cdf0e10cSrcweir 		}
350*cdf0e10cSrcweir 		else
351*cdf0e10cSrcweir 		{
352*cdf0e10cSrcweir 			nAnsatzTypePos = AZ_VON_LINKS;
353*cdf0e10cSrcweir 			aMF_ANSATZ.SetValue( nEscAbs );
354*cdf0e10cSrcweir 		}
355*cdf0e10cSrcweir 	}
356*cdf0e10cSrcweir 	else if( nEscDir == SDRCAPT_ESCBESTFIT )
357*cdf0e10cSrcweir 	{
358*cdf0e10cSrcweir 		nAnsatzTypePos = AZ_OPTIMAL;
359*cdf0e10cSrcweir 	}
360*cdf0e10cSrcweir 
361*cdf0e10cSrcweir 	if( bFixedAngle )
362*cdf0e10cSrcweir 	{
363*cdf0e10cSrcweir 		if( nFixedAngle <= 3000 )
364*cdf0e10cSrcweir 			nWinkelTypePos=WK_30;
365*cdf0e10cSrcweir 		else if( nFixedAngle <= 4500 )
366*cdf0e10cSrcweir 			nWinkelTypePos=WK_45;
367*cdf0e10cSrcweir 		else if( nFixedAngle <= 6000 )
368*cdf0e10cSrcweir 			nWinkelTypePos=WK_60;
369*cdf0e10cSrcweir 		else
370*cdf0e10cSrcweir 			nWinkelTypePos=WK_90;
371*cdf0e10cSrcweir 	}
372*cdf0e10cSrcweir 
373*cdf0e10cSrcweir 	aCB_LAENGE.Check( bFitLineLen );
374*cdf0e10cSrcweir 	aMF_LAENGE.SetValue( nLineLen );
375*cdf0e10cSrcweir 
376*cdf0e10cSrcweir 	aLB_ANSATZ.SelectEntryPos( nAnsatzTypePos );
377*cdf0e10cSrcweir 	aLB_WINKEL.SelectEntryPos( nWinkelTypePos );
378*cdf0e10cSrcweir 
379*cdf0e10cSrcweir 	SetupAnsatz_Impl( nAnsatzTypePos );
380*cdf0e10cSrcweir 	aCT_CAPTTYPE.SelectItem( nCaptionType+1 );// Enum beginnt bei 0!
381*cdf0e10cSrcweir 	SetupType_Impl( nCaptionType+1 );
382*cdf0e10cSrcweir }
383*cdf0e10cSrcweir 
384*cdf0e10cSrcweir // -----------------------------------------------------------------------
385*cdf0e10cSrcweir 
386*cdf0e10cSrcweir SfxTabPage* SvxCaptionTabPage::Create( Window* pWindow,
387*cdf0e10cSrcweir 				const SfxItemSet& rOutAttrs )
388*cdf0e10cSrcweir {
389*cdf0e10cSrcweir 	return( new SvxCaptionTabPage( pWindow, rOutAttrs ) );
390*cdf0e10cSrcweir }
391*cdf0e10cSrcweir 
392*cdf0e10cSrcweir //------------------------------------------------------------------------
393*cdf0e10cSrcweir 
394*cdf0e10cSrcweir sal_uInt16*	SvxCaptionTabPage::GetRanges()
395*cdf0e10cSrcweir {
396*cdf0e10cSrcweir 	return( pCaptionRanges );
397*cdf0e10cSrcweir }
398*cdf0e10cSrcweir 
399*cdf0e10cSrcweir //------------------------------------------------------------------------
400*cdf0e10cSrcweir 
401*cdf0e10cSrcweir void SvxCaptionTabPage::SetupAnsatz_Impl( sal_uInt16 nType )
402*cdf0e10cSrcweir {
403*cdf0e10cSrcweir 	xub_StrLen	nCnt=0, nIdx=0;
404*cdf0e10cSrcweir 
405*cdf0e10cSrcweir 	switch( nType )
406*cdf0e10cSrcweir 	{
407*cdf0e10cSrcweir 		case AZ_OPTIMAL:
408*cdf0e10cSrcweir //		aMF_ANSATZ.Hide(); //XXX auch bei OPTIMAL werden Abswerte genommen
409*cdf0e10cSrcweir //		aFT_UM.Hide();
410*cdf0e10cSrcweir 		aMF_ANSATZ.Show();
411*cdf0e10cSrcweir 		aFT_UM.Show();
412*cdf0e10cSrcweir 		aFT_ANSATZ_REL.Hide();
413*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Hide();
414*cdf0e10cSrcweir 		nEscDir = SDRCAPT_ESCBESTFIT;
415*cdf0e10cSrcweir 		break;
416*cdf0e10cSrcweir 
417*cdf0e10cSrcweir 		case AZ_VON_OBEN:
418*cdf0e10cSrcweir 		aMF_ANSATZ.Show();
419*cdf0e10cSrcweir 		aFT_UM.Show();
420*cdf0e10cSrcweir 		aFT_ANSATZ_REL.Hide();
421*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Hide();
422*cdf0e10cSrcweir 		nEscDir = SDRCAPT_ESCHORIZONTAL;
423*cdf0e10cSrcweir 		break;
424*cdf0e10cSrcweir 
425*cdf0e10cSrcweir 		case AZ_VON_LINKS:
426*cdf0e10cSrcweir 		aMF_ANSATZ.Show();
427*cdf0e10cSrcweir 		aFT_UM.Show();
428*cdf0e10cSrcweir 		aFT_ANSATZ_REL.Hide();
429*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Hide();
430*cdf0e10cSrcweir 		nEscDir = SDRCAPT_ESCVERTICAL;
431*cdf0e10cSrcweir 		break;
432*cdf0e10cSrcweir 
433*cdf0e10cSrcweir 		case AZ_HORIZONTAL:
434*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Clear();
435*cdf0e10cSrcweir 		nCnt = aStrHorzList.GetTokenCount();
436*cdf0e10cSrcweir 		for( nIdx=0 ; nIdx<nCnt ; nIdx++ )
437*cdf0e10cSrcweir 			aLB_ANSATZ_REL.InsertEntry( aStrHorzList.GetToken(nIdx) );
438*cdf0e10cSrcweir 		aLB_ANSATZ_REL.SelectEntryPos( nAnsatzRelPos );
439*cdf0e10cSrcweir 
440*cdf0e10cSrcweir 		aMF_ANSATZ.Hide();
441*cdf0e10cSrcweir 		aFT_UM.Hide();
442*cdf0e10cSrcweir 		aFT_ANSATZ_REL.Show();
443*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Show();
444*cdf0e10cSrcweir 		nEscDir = SDRCAPT_ESCHORIZONTAL;
445*cdf0e10cSrcweir 		break;
446*cdf0e10cSrcweir 
447*cdf0e10cSrcweir 		case AZ_VERTIKAL:
448*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Clear();
449*cdf0e10cSrcweir 		nCnt = aStrVertList.GetTokenCount();
450*cdf0e10cSrcweir 		for( nIdx=0 ; nIdx<nCnt ; nIdx++ )
451*cdf0e10cSrcweir 			aLB_ANSATZ_REL.InsertEntry( aStrVertList.GetToken(nIdx) );
452*cdf0e10cSrcweir 		aLB_ANSATZ_REL.SelectEntryPos( nAnsatzRelPos );
453*cdf0e10cSrcweir 
454*cdf0e10cSrcweir 		aMF_ANSATZ.Hide();
455*cdf0e10cSrcweir 		aFT_UM.Hide();
456*cdf0e10cSrcweir 		aFT_ANSATZ_REL.Show();
457*cdf0e10cSrcweir 		aLB_ANSATZ_REL.Show();
458*cdf0e10cSrcweir 		nEscDir = SDRCAPT_ESCVERTICAL;
459*cdf0e10cSrcweir 		break;
460*cdf0e10cSrcweir 	}
461*cdf0e10cSrcweir }
462*cdf0e10cSrcweir 
463*cdf0e10cSrcweir //------------------------------------------------------------------------
464*cdf0e10cSrcweir 
465*cdf0e10cSrcweir IMPL_LINK_INLINE_START( SvxCaptionTabPage, AnsatzSelectHdl_Impl, ListBox *, pListBox )
466*cdf0e10cSrcweir {
467*cdf0e10cSrcweir 	if( pListBox == &aLB_ANSATZ )
468*cdf0e10cSrcweir 	{
469*cdf0e10cSrcweir 		SetupAnsatz_Impl( aLB_ANSATZ.GetSelectEntryPos() );
470*cdf0e10cSrcweir 	}
471*cdf0e10cSrcweir 	return 0;
472*cdf0e10cSrcweir }
473*cdf0e10cSrcweir IMPL_LINK_INLINE_END( SvxCaptionTabPage, AnsatzSelectHdl_Impl, ListBox *, pListBox )
474*cdf0e10cSrcweir 
475*cdf0e10cSrcweir //------------------------------------------------------------------------
476*cdf0e10cSrcweir 
477*cdf0e10cSrcweir IMPL_LINK_INLINE_START( SvxCaptionTabPage, AnsatzRelSelectHdl_Impl, ListBox *, pListBox )
478*cdf0e10cSrcweir {
479*cdf0e10cSrcweir 	if( pListBox == &aLB_ANSATZ_REL )
480*cdf0e10cSrcweir 	{
481*cdf0e10cSrcweir 		nAnsatzRelPos = aLB_ANSATZ_REL.GetSelectEntryPos();
482*cdf0e10cSrcweir 	}
483*cdf0e10cSrcweir 	return 0;
484*cdf0e10cSrcweir }
485*cdf0e10cSrcweir IMPL_LINK_INLINE_END( SvxCaptionTabPage, AnsatzRelSelectHdl_Impl, ListBox *, pListBox )
486*cdf0e10cSrcweir 
487*cdf0e10cSrcweir //------------------------------------------------------------------------
488*cdf0e10cSrcweir 
489*cdf0e10cSrcweir IMPL_LINK( SvxCaptionTabPage, LineOptHdl_Impl, Button *, pButton )
490*cdf0e10cSrcweir {
491*cdf0e10cSrcweir 	if( pButton == &aCB_LAENGE )
492*cdf0e10cSrcweir 	{
493*cdf0e10cSrcweir 		if( aCB_LAENGE.IsChecked() || ! aCB_LAENGE.IsEnabled() )
494*cdf0e10cSrcweir 		{
495*cdf0e10cSrcweir             aFT_LAENGE.Disable();
496*cdf0e10cSrcweir 			aMF_LAENGE.Disable();
497*cdf0e10cSrcweir 		}
498*cdf0e10cSrcweir 		else
499*cdf0e10cSrcweir 		{
500*cdf0e10cSrcweir             aFT_LAENGE.Enable();
501*cdf0e10cSrcweir 			aMF_LAENGE.Enable();
502*cdf0e10cSrcweir 		}
503*cdf0e10cSrcweir 	}
504*cdf0e10cSrcweir 	return 0;
505*cdf0e10cSrcweir }
506*cdf0e10cSrcweir 
507*cdf0e10cSrcweir //------------------------------------------------------------------------
508*cdf0e10cSrcweir 
509*cdf0e10cSrcweir IMPL_LINK_INLINE_START( SvxCaptionTabPage, SelectCaptTypeHdl_Impl, void *, EMPTYARG )
510*cdf0e10cSrcweir {
511*cdf0e10cSrcweir 	SetupType_Impl( aCT_CAPTTYPE.GetSelectItemId() );
512*cdf0e10cSrcweir 	return 0;
513*cdf0e10cSrcweir }
514*cdf0e10cSrcweir IMPL_LINK_INLINE_END( SvxCaptionTabPage, SelectCaptTypeHdl_Impl, void *, EMPTYARG )
515*cdf0e10cSrcweir 
516*cdf0e10cSrcweir //------------------------------------------------------------------------
517*cdf0e10cSrcweir 
518*cdf0e10cSrcweir void SvxCaptionTabPage::SetupType_Impl( sal_uInt16 nType )
519*cdf0e10cSrcweir {
520*cdf0e10cSrcweir 	switch( nType-1 )
521*cdf0e10cSrcweir 	{
522*cdf0e10cSrcweir 		case SDRCAPT_TYPE1:
523*cdf0e10cSrcweir         aFT_WINKEL.Disable();
524*cdf0e10cSrcweir 		aLB_WINKEL.Disable();
525*cdf0e10cSrcweir         aFT_LAENGE.Disable();
526*cdf0e10cSrcweir 		aCB_LAENGE.Disable();
527*cdf0e10cSrcweir 		LineOptHdl_Impl( &aCB_LAENGE );
528*cdf0e10cSrcweir 		break;
529*cdf0e10cSrcweir 
530*cdf0e10cSrcweir 		case SDRCAPT_TYPE2:
531*cdf0e10cSrcweir         aFT_WINKEL.Enable();
532*cdf0e10cSrcweir 		aLB_WINKEL.Enable();
533*cdf0e10cSrcweir         aFT_LAENGE.Disable();
534*cdf0e10cSrcweir 		aCB_LAENGE.Disable();
535*cdf0e10cSrcweir 		LineOptHdl_Impl( &aCB_LAENGE );
536*cdf0e10cSrcweir 		break;
537*cdf0e10cSrcweir 
538*cdf0e10cSrcweir 		case SDRCAPT_TYPE3:
539*cdf0e10cSrcweir         aFT_WINKEL.Enable();
540*cdf0e10cSrcweir 		aLB_WINKEL.Enable();
541*cdf0e10cSrcweir         aFT_LAENGE.Enable();
542*cdf0e10cSrcweir 		aCB_LAENGE.Enable();
543*cdf0e10cSrcweir 		LineOptHdl_Impl( &aCB_LAENGE );
544*cdf0e10cSrcweir 		break;
545*cdf0e10cSrcweir 
546*cdf0e10cSrcweir 		case SDRCAPT_TYPE4:
547*cdf0e10cSrcweir         aFT_WINKEL.Enable();
548*cdf0e10cSrcweir 		aLB_WINKEL.Enable();
549*cdf0e10cSrcweir         aFT_LAENGE.Enable();
550*cdf0e10cSrcweir 		aCB_LAENGE.Enable();
551*cdf0e10cSrcweir 		LineOptHdl_Impl( &aCB_LAENGE );
552*cdf0e10cSrcweir 		break;
553*cdf0e10cSrcweir 	}
554*cdf0e10cSrcweir }
555*cdf0e10cSrcweir 
556*cdf0e10cSrcweir // -----------------------------------------------------------------------
557*cdf0e10cSrcweir 
558*cdf0e10cSrcweir void SvxCaptionTabPage::DataChanged( const DataChangedEvent& rDCEvt )
559*cdf0e10cSrcweir {
560*cdf0e10cSrcweir     SfxTabPage::DataChanged( rDCEvt );
561*cdf0e10cSrcweir 
562*cdf0e10cSrcweir 	if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
563*cdf0e10cSrcweir             FillValueSet();
564*cdf0e10cSrcweir }
565*cdf0e10cSrcweir 
566*cdf0e10cSrcweir // -----------------------------------------------------------------------
567*cdf0e10cSrcweir 
568*cdf0e10cSrcweir void SvxCaptionTabPage::FillValueSet()
569*cdf0e10cSrcweir {
570*cdf0e10cSrcweir 	bool bHighContrast = GetSettings().GetStyleSettings().GetHighContrastMode();
571*cdf0e10cSrcweir 
572*cdf0e10cSrcweir 	Image** ppBitmaps = bHighContrast ? mpBmpCapTypesH : mpBmpCapTypes;
573*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetItemImage(BMP_CAPTTYPE_1, *(ppBitmaps[0]) );
574*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetItemImage(BMP_CAPTTYPE_2, *(ppBitmaps[1]) );
575*cdf0e10cSrcweir 	aCT_CAPTTYPE.SetItemImage(BMP_CAPTTYPE_3, *(ppBitmaps[2]) );
576*cdf0e10cSrcweir }
577*cdf0e10cSrcweir 
578*cdf0e10cSrcweir //========================================================================
579*cdf0e10cSrcweir 
580*cdf0e10cSrcweir 
581*cdf0e10cSrcweir SvxCaptionTabDialog::SvxCaptionTabDialog(Window* pParent, const SdrView* pSdrView, sal_uInt16 nAnchorTypes)
582*cdf0e10cSrcweir  :	SfxTabDialog( pParent, CUI_RES( RID_SVXDLG_CAPTION ) ),
583*cdf0e10cSrcweir     pView       ( pSdrView ),
584*cdf0e10cSrcweir     nAnchorCtrls(nAnchorTypes)
585*cdf0e10cSrcweir {
586*cdf0e10cSrcweir 	FreeResource();
587*cdf0e10cSrcweir 
588*cdf0e10cSrcweir 	DBG_ASSERT( pView, "Keine gueltige View Uebergeben!" );
589*cdf0e10cSrcweir 
590*cdf0e10cSrcweir     //different positioning page in Writer
591*cdf0e10cSrcweir     if(nAnchorCtrls & 0x00ff )
592*cdf0e10cSrcweir     {
593*cdf0e10cSrcweir         AddTabPage( RID_SVXPAGE_SWPOSSIZE, SvxSwPosSizeTabPage::Create,
594*cdf0e10cSrcweir                                 SvxSwPosSizeTabPage::GetRanges );
595*cdf0e10cSrcweir         RemoveTabPage( RID_SVXPAGE_POSITION_SIZE);
596*cdf0e10cSrcweir     }
597*cdf0e10cSrcweir     else
598*cdf0e10cSrcweir     {
599*cdf0e10cSrcweir         AddTabPage( RID_SVXPAGE_POSITION_SIZE, SvxPositionSizeTabPage::Create,
600*cdf0e10cSrcweir                                 SvxPositionSizeTabPage::GetRanges );
601*cdf0e10cSrcweir         RemoveTabPage( RID_SVXPAGE_SWPOSSIZE );
602*cdf0e10cSrcweir     }
603*cdf0e10cSrcweir     AddTabPage( RID_SVXPAGE_CAPTION, SvxCaptionTabPage::Create,
604*cdf0e10cSrcweir 							SvxCaptionTabPage::GetRanges );
605*cdf0e10cSrcweir }
606*cdf0e10cSrcweir 
607*cdf0e10cSrcweir // -----------------------------------------------------------------------
608*cdf0e10cSrcweir 
609*cdf0e10cSrcweir SvxCaptionTabDialog::~SvxCaptionTabDialog()
610*cdf0e10cSrcweir {
611*cdf0e10cSrcweir }
612*cdf0e10cSrcweir 
613*cdf0e10cSrcweir // -----------------------------------------------------------------------
614*cdf0e10cSrcweir 
615*cdf0e10cSrcweir void SvxCaptionTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
616*cdf0e10cSrcweir {
617*cdf0e10cSrcweir 	switch( nId )
618*cdf0e10cSrcweir 	{
619*cdf0e10cSrcweir 		case RID_SVXPAGE_POSITION_SIZE:
620*cdf0e10cSrcweir 			( (SvxPositionSizeTabPage&) rPage ).SetView( pView );
621*cdf0e10cSrcweir 			( (SvxPositionSizeTabPage&) rPage ).Construct();
622*cdf0e10cSrcweir 			if( nAnchorCtrls & SVX_OBJ_NORESIZE )
623*cdf0e10cSrcweir 				( (SvxPositionSizeTabPage&) rPage ).DisableResize();
624*cdf0e10cSrcweir 
625*cdf0e10cSrcweir 			if( nAnchorCtrls & SVX_OBJ_NOPROTECT )
626*cdf0e10cSrcweir 				( (SvxPositionSizeTabPage&) rPage ).DisableProtect();
627*cdf0e10cSrcweir 		break;
628*cdf0e10cSrcweir         case RID_SVXPAGE_SWPOSSIZE :
629*cdf0e10cSrcweir         {
630*cdf0e10cSrcweir             SvxSwPosSizeTabPage& rSwPage = static_cast<SvxSwPosSizeTabPage&>(rPage);
631*cdf0e10cSrcweir             rSwPage.EnableAnchorTypes(nAnchorCtrls);
632*cdf0e10cSrcweir             rSwPage.SetValidateFramePosLink( aValidateLink );
633*cdf0e10cSrcweir         }
634*cdf0e10cSrcweir         break;
635*cdf0e10cSrcweir 
636*cdf0e10cSrcweir 		case RID_SVXPAGE_CAPTION:
637*cdf0e10cSrcweir 			( (SvxCaptionTabPage&) rPage ).SetView( pView );
638*cdf0e10cSrcweir 			( (SvxCaptionTabPage&) rPage ).Construct();
639*cdf0e10cSrcweir 		break;
640*cdf0e10cSrcweir 	}
641*cdf0e10cSrcweir }
642*cdf0e10cSrcweir /*-- 05.03.2004 13:54:26---------------------------------------------------
643*cdf0e10cSrcweir 
644*cdf0e10cSrcweir   -----------------------------------------------------------------------*/
645*cdf0e10cSrcweir void SvxCaptionTabDialog::SetValidateFramePosLink( const Link& rLink )
646*cdf0e10cSrcweir {
647*cdf0e10cSrcweir     aValidateLink = rLink;
648*cdf0e10cSrcweir }
649*cdf0e10cSrcweir 
650*cdf0e10cSrcweir 
651