xref: /aoo42x/main/cui/source/tabpages/dstribut.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 <sfx2/basedlgs.hxx>
32*cdf0e10cSrcweir #include <cuires.hrc>
33*cdf0e10cSrcweir #include "dstribut.hxx"
34*cdf0e10cSrcweir #include "dstribut.hrc"
35*cdf0e10cSrcweir #include <svx/dialogs.hrc>
36*cdf0e10cSrcweir #include <svx/svddef.hxx>
37*cdf0e10cSrcweir #include <dialmgr.hxx>
38*cdf0e10cSrcweir #include <tools/shl.hxx>
39*cdf0e10cSrcweir 
40*cdf0e10cSrcweir static sal_uInt16 pRanges[] =
41*cdf0e10cSrcweir {
42*cdf0e10cSrcweir 	SDRATTR_MEASURE_FIRST,
43*cdf0e10cSrcweir 	SDRATTR_MEASURE_LAST,
44*cdf0e10cSrcweir 	0
45*cdf0e10cSrcweir };
46*cdf0e10cSrcweir 
47*cdf0e10cSrcweir /*************************************************************************
48*cdf0e10cSrcweir |*
49*cdf0e10cSrcweir |* Dialog
50*cdf0e10cSrcweir |*
51*cdf0e10cSrcweir \************************************************************************/
52*cdf0e10cSrcweir 
53*cdf0e10cSrcweir SvxDistributeDialog::SvxDistributeDialog(
54*cdf0e10cSrcweir 	Window* pParent,
55*cdf0e10cSrcweir 	const SfxItemSet& rInAttrs,
56*cdf0e10cSrcweir 	SvxDistributeHorizontal eHor,
57*cdf0e10cSrcweir 	SvxDistributeVertical eVer)
58*cdf0e10cSrcweir :	SfxSingleTabDialog(pParent, rInAttrs, RID_SVXPAGE_DISTRIBUTE ),
59*cdf0e10cSrcweir 	mpPage(0L)
60*cdf0e10cSrcweir {
61*cdf0e10cSrcweir 	mpPage = new SvxDistributePage(this, rInAttrs, eHor, eVer);
62*cdf0e10cSrcweir 	SetTabPage(mpPage);
63*cdf0e10cSrcweir 	SetText(mpPage->GetText());
64*cdf0e10cSrcweir }
65*cdf0e10cSrcweir 
66*cdf0e10cSrcweir /*************************************************************************
67*cdf0e10cSrcweir |*
68*cdf0e10cSrcweir |* Dtor
69*cdf0e10cSrcweir |*
70*cdf0e10cSrcweir \************************************************************************/
71*cdf0e10cSrcweir 
72*cdf0e10cSrcweir SvxDistributeDialog::~SvxDistributeDialog()
73*cdf0e10cSrcweir {
74*cdf0e10cSrcweir }
75*cdf0e10cSrcweir 
76*cdf0e10cSrcweir /*************************************************************************
77*cdf0e10cSrcweir |*
78*cdf0e10cSrcweir |* Tabpage
79*cdf0e10cSrcweir |*
80*cdf0e10cSrcweir \************************************************************************/
81*cdf0e10cSrcweir 
82*cdf0e10cSrcweir SvxDistributePage::SvxDistributePage(
83*cdf0e10cSrcweir 	Window* pWindow,
84*cdf0e10cSrcweir 	const SfxItemSet& rInAttrs,
85*cdf0e10cSrcweir 	SvxDistributeHorizontal eHor,
86*cdf0e10cSrcweir 	SvxDistributeVertical eVer)
87*cdf0e10cSrcweir :	SvxTabPage(pWindow, CUI_RES(RID_SVXPAGE_DISTRIBUTE), rInAttrs),
88*cdf0e10cSrcweir 	meDistributeHor(eHor),
89*cdf0e10cSrcweir 	meDistributeVer(eVer),
90*cdf0e10cSrcweir 	maFlHorizontal		(this, CUI_RES(FL_HORIZONTAL		)),
91*cdf0e10cSrcweir 	maBtnHorNone		(this, CUI_RES(BTN_HOR_NONE		)),
92*cdf0e10cSrcweir 	maBtnHorLeft		(this, CUI_RES(BTN_HOR_LEFT		)),
93*cdf0e10cSrcweir 	maBtnHorCenter		(this, CUI_RES(BTN_HOR_CENTER		)),
94*cdf0e10cSrcweir 	maBtnHorDistance	(this, CUI_RES(BTN_HOR_DISTANCE	)),
95*cdf0e10cSrcweir 	maBtnHorRight		(this, CUI_RES(BTN_HOR_RIGHT		)),
96*cdf0e10cSrcweir 	maHorLow			(this, CUI_RES(IMG_HOR_LOW		)),
97*cdf0e10cSrcweir 	maHorCenter			(this, CUI_RES(IMG_HOR_CENTER		)),
98*cdf0e10cSrcweir 	maHorDistance		(this, CUI_RES(IMG_HOR_DISTANCE	)),
99*cdf0e10cSrcweir 	maHorHigh			(this, CUI_RES(IMG_HOR_HIGH		)),
100*cdf0e10cSrcweir 	maFlVertical		(this, CUI_RES(FL_VERTICAL		)),
101*cdf0e10cSrcweir 	maBtnVerNone		(this, CUI_RES(BTN_VER_NONE		)),
102*cdf0e10cSrcweir 	maBtnVerTop			(this, CUI_RES(BTN_VER_TOP		)),
103*cdf0e10cSrcweir 	maBtnVerCenter		(this, CUI_RES(BTN_VER_CENTER		)),
104*cdf0e10cSrcweir 	maBtnVerDistance	(this, CUI_RES(BTN_VER_DISTANCE	)),
105*cdf0e10cSrcweir 	maBtnVerBottom		(this, CUI_RES(BTN_VER_BOTTOM		)),
106*cdf0e10cSrcweir     maVerLow            (this, CUI_RES(IMG_VER_LOW        )),
107*cdf0e10cSrcweir 	maVerCenter			(this, CUI_RES(IMG_VER_CENTER		)),
108*cdf0e10cSrcweir     maVerDistance       (this, CUI_RES(IMG_VER_DISTANCE   )),
109*cdf0e10cSrcweir     maVerHigh           (this, CUI_RES(IMG_VER_HIGH       ))
110*cdf0e10cSrcweir {
111*cdf0e10cSrcweir 	maHorLow.SetModeImage( Image( CUI_RES( IMG_HOR_LOW_H ) ), BMP_COLOR_HIGHCONTRAST );
112*cdf0e10cSrcweir 	maHorCenter.SetModeImage( Image( CUI_RES( IMG_HOR_CENTER_H ) ), BMP_COLOR_HIGHCONTRAST );
113*cdf0e10cSrcweir 	maHorDistance.SetModeImage( Image( CUI_RES( IMG_HOR_DISTANCE_H ) ), BMP_COLOR_HIGHCONTRAST );
114*cdf0e10cSrcweir 	maHorHigh.SetModeImage( Image( CUI_RES( IMG_HOR_HIGH_H ) ), BMP_COLOR_HIGHCONTRAST );
115*cdf0e10cSrcweir 	maVerDistance.SetModeImage( Image( CUI_RES( IMG_VER_DISTANCE_H ) ), BMP_COLOR_HIGHCONTRAST );
116*cdf0e10cSrcweir 	maVerLow.SetModeImage( Image( CUI_RES( IMG_VER_LOW_H ) ), BMP_COLOR_HIGHCONTRAST );
117*cdf0e10cSrcweir 	maVerCenter.SetModeImage( Image( CUI_RES( IMG_VER_CENTER_H ) ), BMP_COLOR_HIGHCONTRAST );
118*cdf0e10cSrcweir 	maVerHigh.SetModeImage( Image( CUI_RES( IMG_VER_HIGH_H ) ), BMP_COLOR_HIGHCONTRAST );
119*cdf0e10cSrcweir 
120*cdf0e10cSrcweir 	FreeResource();
121*cdf0e10cSrcweir }
122*cdf0e10cSrcweir 
123*cdf0e10cSrcweir /*************************************************************************
124*cdf0e10cSrcweir |*
125*cdf0e10cSrcweir |* Dtor
126*cdf0e10cSrcweir |*
127*cdf0e10cSrcweir \************************************************************************/
128*cdf0e10cSrcweir 
129*cdf0e10cSrcweir SvxDistributePage::~SvxDistributePage()
130*cdf0e10cSrcweir {
131*cdf0e10cSrcweir }
132*cdf0e10cSrcweir 
133*cdf0e10cSrcweir /*************************************************************************
134*cdf0e10cSrcweir |*
135*cdf0e10cSrcweir |* create the tabpage
136*cdf0e10cSrcweir |*
137*cdf0e10cSrcweir \************************************************************************/
138*cdf0e10cSrcweir 
139*cdf0e10cSrcweir SfxTabPage* SvxDistributePage::Create(Window* pWindow, const SfxItemSet& rAttrs,
140*cdf0e10cSrcweir 	SvxDistributeHorizontal eHor, SvxDistributeVertical eVer)
141*cdf0e10cSrcweir {
142*cdf0e10cSrcweir 	return(new SvxDistributePage(pWindow, rAttrs, eHor, eVer));
143*cdf0e10cSrcweir }
144*cdf0e10cSrcweir 
145*cdf0e10cSrcweir /*************************************************************************
146*cdf0e10cSrcweir |*
147*cdf0e10cSrcweir |*
148*cdf0e10cSrcweir |*
149*cdf0e10cSrcweir \************************************************************************/
150*cdf0e10cSrcweir 
151*cdf0e10cSrcweir sal_uInt16*	SvxDistributePage::GetRanges()
152*cdf0e10cSrcweir {
153*cdf0e10cSrcweir 	return(pRanges);
154*cdf0e10cSrcweir }
155*cdf0e10cSrcweir 
156*cdf0e10cSrcweir /*************************************************************************
157*cdf0e10cSrcweir |*
158*cdf0e10cSrcweir |*
159*cdf0e10cSrcweir |*
160*cdf0e10cSrcweir \************************************************************************/
161*cdf0e10cSrcweir 
162*cdf0e10cSrcweir void SvxDistributePage::PointChanged(Window* /*pWindow*/, RECT_POINT /*eRP*/)
163*cdf0e10cSrcweir {
164*cdf0e10cSrcweir }
165*cdf0e10cSrcweir 
166*cdf0e10cSrcweir /*************************************************************************
167*cdf0e10cSrcweir |*
168*cdf0e10cSrcweir |* read the delivered Item-Set
169*cdf0e10cSrcweir |*
170*cdf0e10cSrcweir \************************************************************************/
171*cdf0e10cSrcweir 
172*cdf0e10cSrcweir void __EXPORT SvxDistributePage::Reset(const SfxItemSet& )
173*cdf0e10cSrcweir {
174*cdf0e10cSrcweir 	maBtnHorNone.SetState(sal_False);
175*cdf0e10cSrcweir 	maBtnHorLeft.SetState(sal_False);
176*cdf0e10cSrcweir 	maBtnHorCenter.SetState(sal_False);
177*cdf0e10cSrcweir 	maBtnHorDistance.SetState(sal_False);
178*cdf0e10cSrcweir 	maBtnHorRight.SetState(sal_False);
179*cdf0e10cSrcweir 
180*cdf0e10cSrcweir 	switch(meDistributeHor)
181*cdf0e10cSrcweir 	{
182*cdf0e10cSrcweir 		case SvxDistributeHorizontalNone : maBtnHorNone.SetState(sal_True); break;
183*cdf0e10cSrcweir 		case SvxDistributeHorizontalLeft : maBtnHorLeft.SetState(sal_True); break;
184*cdf0e10cSrcweir 		case SvxDistributeHorizontalCenter : maBtnHorCenter.SetState(sal_True); break;
185*cdf0e10cSrcweir 		case SvxDistributeHorizontalDistance : maBtnHorDistance.SetState(sal_True); break;
186*cdf0e10cSrcweir 		case SvxDistributeHorizontalRight : maBtnHorRight.SetState(sal_True); break;
187*cdf0e10cSrcweir 	}
188*cdf0e10cSrcweir 
189*cdf0e10cSrcweir 	maBtnVerNone.SetState(sal_False);
190*cdf0e10cSrcweir 	maBtnVerTop.SetState(sal_False);
191*cdf0e10cSrcweir 	maBtnVerCenter.SetState(sal_False);
192*cdf0e10cSrcweir 	maBtnVerDistance.SetState(sal_False);
193*cdf0e10cSrcweir 	maBtnVerBottom.SetState(sal_False);
194*cdf0e10cSrcweir 
195*cdf0e10cSrcweir 	switch(meDistributeVer)
196*cdf0e10cSrcweir 	{
197*cdf0e10cSrcweir 		case SvxDistributeVerticalNone : maBtnVerNone.SetState(sal_True); break;
198*cdf0e10cSrcweir 		case SvxDistributeVerticalTop : maBtnVerTop.SetState(sal_True); break;
199*cdf0e10cSrcweir 		case SvxDistributeVerticalCenter : maBtnVerCenter.SetState(sal_True); break;
200*cdf0e10cSrcweir 		case SvxDistributeVerticalDistance : maBtnVerDistance.SetState(sal_True); break;
201*cdf0e10cSrcweir 		case SvxDistributeVerticalBottom : maBtnVerBottom.SetState(sal_True); break;
202*cdf0e10cSrcweir 	}
203*cdf0e10cSrcweir }
204*cdf0e10cSrcweir 
205*cdf0e10cSrcweir /*************************************************************************
206*cdf0e10cSrcweir |*
207*cdf0e10cSrcweir |* Fill the delivered Item-Set with dialogbox-attributes
208*cdf0e10cSrcweir |*
209*cdf0e10cSrcweir \************************************************************************/
210*cdf0e10cSrcweir 
211*cdf0e10cSrcweir sal_Bool SvxDistributePage::FillItemSet( SfxItemSet& )
212*cdf0e10cSrcweir {
213*cdf0e10cSrcweir 	SvxDistributeHorizontal eDistributeHor(SvxDistributeHorizontalNone);
214*cdf0e10cSrcweir 	SvxDistributeVertical eDistributeVer(SvxDistributeVerticalNone);
215*cdf0e10cSrcweir 
216*cdf0e10cSrcweir 	if(maBtnHorLeft.IsChecked())
217*cdf0e10cSrcweir 		eDistributeHor = SvxDistributeHorizontalLeft;
218*cdf0e10cSrcweir 	else if(maBtnHorCenter.IsChecked())
219*cdf0e10cSrcweir 		eDistributeHor = SvxDistributeHorizontalCenter;
220*cdf0e10cSrcweir 	else if(maBtnHorDistance.IsChecked())
221*cdf0e10cSrcweir 		eDistributeHor = SvxDistributeHorizontalDistance;
222*cdf0e10cSrcweir 	else if(maBtnHorRight.IsChecked())
223*cdf0e10cSrcweir 		eDistributeHor = SvxDistributeHorizontalRight;
224*cdf0e10cSrcweir 
225*cdf0e10cSrcweir 	if(maBtnVerTop.IsChecked())
226*cdf0e10cSrcweir 		eDistributeVer = SvxDistributeVerticalTop;
227*cdf0e10cSrcweir 	else if(maBtnVerCenter.IsChecked())
228*cdf0e10cSrcweir 		eDistributeVer = SvxDistributeVerticalCenter;
229*cdf0e10cSrcweir 	else if(maBtnVerDistance.IsChecked())
230*cdf0e10cSrcweir 		eDistributeVer = SvxDistributeVerticalDistance;
231*cdf0e10cSrcweir 	else if(maBtnVerBottom.IsChecked())
232*cdf0e10cSrcweir 		eDistributeVer = SvxDistributeVerticalBottom;
233*cdf0e10cSrcweir 
234*cdf0e10cSrcweir 	if(eDistributeHor != meDistributeHor || eDistributeVer != meDistributeVer)
235*cdf0e10cSrcweir 	{
236*cdf0e10cSrcweir 		meDistributeHor = eDistributeHor;
237*cdf0e10cSrcweir 		meDistributeVer = eDistributeVer;
238*cdf0e10cSrcweir 		return sal_True;
239*cdf0e10cSrcweir 	}
240*cdf0e10cSrcweir 
241*cdf0e10cSrcweir 	return sal_False;
242*cdf0e10cSrcweir }
243*cdf0e10cSrcweir 
244*cdf0e10cSrcweir 
245