Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include <tools/shl.hxx>
30 : : #include <tools/urlobj.hxx>
31 : : #include <sfx2/app.hxx>
32 : : #include <sfx2/module.hxx>
33 : : #include <svx/dialogs.hrc>
34 : :
35 : : #define _SVX_TPAREA_CXX
36 : :
37 : : #if defined (UNX) || defined (ICC) || defined(WNT)
38 : : #include <stdlib.h>
39 : : #endif
40 : :
41 : : #include "svx/xattr.hxx"
42 : : #include <svx/xpool.hxx>
43 : : #include <cuires.hrc>
44 : : #include "tabarea.hrc"
45 : : #include <svx/xflbckit.hxx>
46 : : #include <svx/svdattr.hxx>
47 : : #include <svx/xtable.hxx>
48 : : #include <svx/xlineit0.hxx>
49 : : #include "svx/drawitem.hxx"
50 : : #include "cuitabarea.hxx"
51 : : #include "dlgname.hxx"
52 : : #include <dialmgr.hxx>
53 : : #include "svx/dlgutil.hxx"
54 : : #include <svl/intitem.hxx>
55 : : #include <sfx2/request.hxx>
56 : : #include "paragrph.hrc"
57 : :
58 : : // static ----------------------------------------------------------------
59 : :
60 : : static sal_uInt16 pAreaRanges[] =
61 : : {
62 : : XATTR_GRADIENTSTEPCOUNT,
63 : : XATTR_GRADIENTSTEPCOUNT,
64 : : SID_ATTR_FILL_STYLE,
65 : : SID_ATTR_FILL_BITMAP,
66 : : 0
67 : : };
68 : :
69 : : static sal_uInt16 pTransparenceRanges[] =
70 : : {
71 : : XATTR_FILLTRANSPARENCE,
72 : : XATTR_FILLTRANSPARENCE,
73 : : SDRATTR_SHADOWTRANSPARENCE,
74 : : SDRATTR_SHADOWTRANSPARENCE,
75 : : XATTR_FILLFLOATTRANSPARENCE,
76 : : XATTR_FILLFLOATTRANSPARENCE,
77 : : 0
78 : : };
79 : :
80 : : /*************************************************************************
81 : : |*
82 : : |* Dialog for transparence
83 : : |*
84 : : \************************************************************************/
85 : :
86 : 0 : IMPL_LINK_NOARG(SvxTransparenceTabPage, ClickTransOffHdl_Impl)
87 : : {
88 : : // disable all other controls
89 : 0 : ActivateLinear(sal_False);
90 : 0 : ActivateGradient(sal_False);
91 : :
92 : : // Preview
93 : 0 : rXFSet.ClearItem (XATTR_FILLTRANSPARENCE);
94 : 0 : rXFSet.ClearItem (XATTR_FILLFLOATTRANSPARENCE);
95 : 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
96 : 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
97 : :
98 : 0 : InvalidatePreview( sal_False );
99 : :
100 : 0 : return( 0L );
101 : : }
102 : :
103 : 0 : IMPL_LINK_NOARG(SvxTransparenceTabPage, ClickTransLinearHdl_Impl)
104 : : {
105 : : // enable linear, disable other
106 : 0 : ActivateLinear(sal_True);
107 : 0 : ActivateGradient(sal_False);
108 : :
109 : : // preview
110 : 0 : rXFSet.ClearItem (XATTR_FILLFLOATTRANSPARENCE);
111 : 0 : ModifyTransparentHdl_Impl (NULL);
112 : :
113 : 0 : return( 0L );
114 : : }
115 : :
116 : 0 : IMPL_LINK_NOARG(SvxTransparenceTabPage, ClickTransGradientHdl_Impl)
117 : : {
118 : : // enable gradient, disable other
119 : 0 : ActivateLinear(sal_False);
120 : 0 : ActivateGradient(sal_True);
121 : :
122 : : // preview
123 : 0 : rXFSet.ClearItem (XATTR_FILLTRANSPARENCE);
124 : 0 : ModifiedTrgrHdl_Impl (NULL);
125 : :
126 : 0 : return( 0L );
127 : : }
128 : :
129 : 0 : void SvxTransparenceTabPage::ActivateLinear(sal_Bool bActivate)
130 : : {
131 : 0 : aMtrTransparent.Enable(bActivate);
132 : 0 : }
133 : :
134 : 0 : IMPL_LINK_NOARG(SvxTransparenceTabPage, ModifyTransparentHdl_Impl)
135 : : {
136 [ # # ]: 0 : sal_uInt16 nPos = (sal_uInt16)aMtrTransparent.GetValue();
137 [ # # ]: 0 : XFillTransparenceItem aItem(nPos);
138 [ # # ][ # # ]: 0 : rXFSet.Put(XFillTransparenceItem(aItem));
[ # # ]
139 : :
140 : : // preview
141 [ # # ]: 0 : InvalidatePreview();
142 : :
143 [ # # ]: 0 : return 0L;
144 : : }
145 : :
146 : 0 : IMPL_LINK(SvxTransparenceTabPage, ModifiedTrgrHdl_Impl, void *, pControl)
147 : : {
148 [ # # ][ # # ]: 0 : if(pControl == &aLbTrgrGradientType || pControl == this)
149 : : {
150 [ # # ]: 0 : XGradientStyle eXGS = (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos();
151 [ # # ]: 0 : SetControlState_Impl( eXGS );
152 : : }
153 : :
154 : : // preview
155 [ # # ]: 0 : sal_uInt8 nStartCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrStartValue.GetValue() * 255) / 100);
156 [ # # ]: 0 : sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrEndValue.GetValue() * 255) / 100);
157 : : XGradient aTmpGradient(
158 : : Color(nStartCol, nStartCol, nStartCol),
159 : : Color(nEndCol, nEndCol, nEndCol),
160 [ # # ]: 0 : (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(),
161 [ # # ]: 0 : (sal_uInt16)aMtrTrgrAngle.GetValue() * 10,
162 [ # # ]: 0 : (sal_uInt16)aMtrTrgrCenterX.GetValue(),
163 [ # # ]: 0 : (sal_uInt16)aMtrTrgrCenterY.GetValue(),
164 [ # # ]: 0 : (sal_uInt16)aMtrTrgrBorder.GetValue(),
165 [ # # ]: 0 : 100, 100);
166 : :
167 [ # # ]: 0 : String aString;
168 [ # # ]: 0 : XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aTmpGradient);
169 [ # # ]: 0 : rXFSet.Put ( aItem );
170 : :
171 [ # # ]: 0 : InvalidatePreview();
172 : :
173 [ # # ][ # # ]: 0 : return( 0L );
174 : : }
175 : :
176 : 0 : void SvxTransparenceTabPage::ActivateGradient(sal_Bool bActivate)
177 : : {
178 : 0 : aFtTrgrType.Enable(bActivate);
179 : 0 : aLbTrgrGradientType.Enable(bActivate);
180 : 0 : aFtTrgrCenterX.Enable(bActivate);
181 : 0 : aMtrTrgrCenterX.Enable(bActivate);
182 : 0 : aFtTrgrCenterY.Enable(bActivate);
183 : 0 : aMtrTrgrCenterY.Enable(bActivate);
184 : 0 : aFtTrgrAngle.Enable(bActivate);
185 : 0 : aMtrTrgrAngle.Enable(bActivate);
186 : 0 : aFtTrgrBorder.Enable(bActivate);
187 : 0 : aMtrTrgrBorder.Enable(bActivate);
188 : 0 : aFtTrgrStartValue.Enable(bActivate);
189 : 0 : aMtrTrgrStartValue.Enable(bActivate);
190 : 0 : aFtTrgrEndValue.Enable(bActivate);
191 : 0 : aMtrTrgrEndValue.Enable(bActivate);
192 : :
193 [ # # ]: 0 : if(bActivate)
194 : : {
195 : 0 : XGradientStyle eXGS = (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos();
196 : 0 : SetControlState_Impl( eXGS );
197 : : }
198 : 0 : }
199 : :
200 : 0 : IMPL_LINK_NOARG(SvxTransparenceTabPage, ChangeTrgrTypeHdl_Impl)
201 : : {
202 : 0 : return( 0L );
203 : : }
204 : :
205 : 0 : void SvxTransparenceTabPage::SetControlState_Impl(XGradientStyle eXGS)
206 : : {
207 [ # # # # : 0 : switch(eXGS)
# ]
208 : : {
209 : : case XGRAD_LINEAR:
210 : : case XGRAD_AXIAL:
211 : 0 : aFtTrgrCenterX.Disable();
212 : 0 : aMtrTrgrCenterX.Disable();
213 : 0 : aFtTrgrCenterY.Disable();
214 : 0 : aMtrTrgrCenterY.Disable();
215 : 0 : aFtTrgrAngle.Enable();
216 : 0 : aMtrTrgrAngle.Enable();
217 : 0 : break;
218 : :
219 : : case XGRAD_RADIAL:
220 : 0 : aFtTrgrCenterX.Enable();
221 : 0 : aMtrTrgrCenterX.Enable();
222 : 0 : aFtTrgrCenterY.Enable();
223 : 0 : aMtrTrgrCenterY.Enable();
224 : 0 : aFtTrgrAngle.Disable();
225 : 0 : aMtrTrgrAngle.Disable();
226 : 0 : break;
227 : :
228 : : case XGRAD_ELLIPTICAL:
229 : 0 : aFtTrgrCenterX.Enable();
230 : 0 : aMtrTrgrCenterX.Enable();
231 : 0 : aFtTrgrCenterY.Enable();
232 : 0 : aMtrTrgrCenterY.Enable();
233 : 0 : aFtTrgrAngle.Enable();
234 : 0 : aMtrTrgrAngle.Enable();
235 : 0 : break;
236 : :
237 : : case XGRAD_SQUARE:
238 : : case XGRAD_RECT:
239 : 0 : aFtTrgrCenterX.Enable();
240 : 0 : aMtrTrgrCenterX.Enable();
241 : 0 : aFtTrgrCenterY.Enable();
242 : 0 : aMtrTrgrCenterY.Enable();
243 : 0 : aFtTrgrAngle.Enable();
244 : 0 : aMtrTrgrAngle.Enable();
245 : 0 : break;
246 : : }
247 : 0 : }
248 : :
249 : 0 : SvxTransparenceTabPage::SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs)
250 : 0 : : SvxTabPage ( pParent, CUI_RES( RID_SVXPAGE_TRANSPARENCE ), rInAttrs),
251 : : rOutAttrs ( rInAttrs ),
252 : : nPageType(0),
253 : : nDlgType(0),
254 : :
255 [ # # ]: 0 : aFlProp ( this, CUI_RES( FL_PROP ) ),
256 [ # # ]: 0 : aRbtTransOff ( this, CUI_RES( RBT_TRANS_OFF ) ),
257 [ # # ]: 0 : aRbtTransLinear ( this, CUI_RES( RBT_TRANS_LINEAR ) ),
258 [ # # ]: 0 : aRbtTransGradient ( this, CUI_RES( RBT_TRANS_GRADIENT ) ),
259 : :
260 [ # # ]: 0 : aMtrTransparent ( this, CUI_RES( MTR_TRANSPARENT ) ),
261 : :
262 [ # # ]: 0 : aFtTrgrType ( this, CUI_RES( FT_TRGR_TYPE ) ),
263 [ # # ]: 0 : aLbTrgrGradientType ( this, CUI_RES( LB_TRGR_GRADIENT_TYPES ) ),
264 [ # # ]: 0 : aFtTrgrCenterX ( this, CUI_RES( FT_TRGR_CENTER_X ) ),
265 [ # # ]: 0 : aMtrTrgrCenterX ( this, CUI_RES( MTR_TRGR_CENTER_X ) ),
266 [ # # ]: 0 : aFtTrgrCenterY ( this, CUI_RES( FT_TRGR_CENTER_Y ) ),
267 [ # # ]: 0 : aMtrTrgrCenterY ( this, CUI_RES( MTR_TRGR_CENTER_Y ) ),
268 [ # # ]: 0 : aFtTrgrAngle ( this, CUI_RES( FT_TRGR_ANGLE ) ),
269 [ # # ]: 0 : aMtrTrgrAngle ( this, CUI_RES( MTR_TRGR_ANGLE ) ),
270 [ # # ]: 0 : aFtTrgrBorder ( this, CUI_RES( FT_TRGR_BORDER ) ),
271 [ # # ]: 0 : aMtrTrgrBorder ( this, CUI_RES( MTR_TRGR_BORDER ) ),
272 [ # # ]: 0 : aFtTrgrStartValue ( this, CUI_RES( FT_TRGR_START_VALUE ) ),
273 [ # # ]: 0 : aMtrTrgrStartValue ( this, CUI_RES( MTR_TRGR_START_VALUE ) ),
274 [ # # ]: 0 : aFtTrgrEndValue ( this, CUI_RES( FT_TRGR_END_VALUE ) ),
275 [ # # ]: 0 : aMtrTrgrEndValue ( this, CUI_RES( MTR_TRGR_END_VALUE ) ),
276 : :
277 [ # # ]: 0 : aCtlBitmapPreview ( this, CUI_RES( CTL_BITMAP_PREVIEW ) ),
278 [ # # ]: 0 : aCtlXRectPreview ( this, CUI_RES( CTL_TRANS_PREVIEW ) ),
279 : : bBitmap ( sal_False ),
280 : 0 : pXPool ( (XOutdevItemPool*) rInAttrs.GetPool() ),
281 : : aXFillAttr ( pXPool ),
282 [ # # ][ # # ]: 0 : rXFSet ( aXFillAttr.GetItemSet() )
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # # # ]
[ # # ]
283 : : {
284 [ # # ]: 0 : FreeResource();
285 : :
286 [ # # ][ # # ]: 0 : String accName = String(CUI_RES(STR_EXAMPLE));
287 [ # # ]: 0 : aCtlBitmapPreview.SetAccessibleName(accName);
288 [ # # ]: 0 : aCtlXRectPreview.SetAccessibleName(accName);
289 [ # # ]: 0 : aMtrTransparent.SetAccessibleRelationLabeledBy( &aRbtTransLinear );
290 : :
291 : : // main selection
292 [ # # ]: 0 : aRbtTransOff.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransOffHdl_Impl));
293 [ # # ]: 0 : aRbtTransLinear.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransLinearHdl_Impl));
294 [ # # ]: 0 : aRbtTransGradient.SetClickHdl(LINK(this, SvxTransparenceTabPage, ClickTransGradientHdl_Impl));
295 : :
296 : : // linear transparency
297 [ # # ]: 0 : aMtrTransparent.SetValue( 50 );
298 [ # # ]: 0 : aMtrTransparent.SetModifyHdl(LINK(this, SvxTransparenceTabPage, ModifyTransparentHdl_Impl));
299 : :
300 : : // gradient transparency
301 [ # # ]: 0 : aMtrTrgrEndValue.SetValue( 100 );
302 [ # # ]: 0 : aMtrTrgrStartValue.SetValue( 0 );
303 [ # # ]: 0 : aLbTrgrGradientType.SetSelectHdl(LINK(this, SvxTransparenceTabPage, ChangeTrgrTypeHdl_Impl));
304 [ # # ]: 0 : Link aLink = LINK( this, SvxTransparenceTabPage, ModifiedTrgrHdl_Impl);
305 : 0 : aLbTrgrGradientType.SetSelectHdl( aLink );
306 : 0 : aMtrTrgrCenterX.SetModifyHdl( aLink );
307 : 0 : aMtrTrgrCenterY.SetModifyHdl( aLink );
308 : 0 : aMtrTrgrAngle.SetModifyHdl( aLink );
309 : 0 : aMtrTrgrBorder.SetModifyHdl( aLink );
310 : 0 : aMtrTrgrStartValue.SetModifyHdl( aLink );
311 : 0 : aMtrTrgrEndValue.SetModifyHdl( aLink );
312 : :
313 : : // this page needs ExchangeSupport
314 [ # # ]: 0 : SetExchangeSupport();
315 : 0 : }
316 : :
317 : 0 : void SvxTransparenceTabPage::Construct()
318 : : {
319 : 0 : }
320 : :
321 : 0 : SfxTabPage* SvxTransparenceTabPage::Create(Window* pWindow, const SfxItemSet& rAttrs)
322 : : {
323 [ # # ]: 0 : return(new SvxTransparenceTabPage(pWindow, rAttrs));
324 : : }
325 : :
326 : 0 : sal_uInt16* SvxTransparenceTabPage::GetRanges()
327 : : {
328 : 0 : return(pTransparenceRanges);
329 : : }
330 : :
331 : 0 : sal_Bool SvxTransparenceTabPage::FillItemSet(SfxItemSet& rAttrs)
332 : : {
333 : 0 : const SfxPoolItem* pGradientItem = NULL;
334 : 0 : const SfxPoolItem* pLinearItem = NULL;
335 [ # # ]: 0 : SfxItemState eStateGradient(rOutAttrs.GetItemState(XATTR_FILLFLOATTRANSPARENCE, sal_True, &pGradientItem));
336 [ # # ]: 0 : SfxItemState eStateLinear(rOutAttrs.GetItemState(XATTR_FILLTRANSPARENCE, sal_True, &pLinearItem));
337 [ # # ][ # # ]: 0 : sal_Bool bGradActive = (eStateGradient == SFX_ITEM_SET && ((XFillFloatTransparenceItem*)pGradientItem)->IsEnabled());
338 [ # # ][ # # ]: 0 : sal_Bool bLinearActive = (eStateLinear == SFX_ITEM_SET && ((XFillTransparenceItem*)pLinearItem)->GetValue() != 0);
339 : :
340 : : // #103765#
341 : 0 : sal_Bool bGradUsed = (eStateGradient == SFX_ITEM_DONTCARE);
342 : 0 : sal_Bool bLinearUsed = (eStateLinear == SFX_ITEM_DONTCARE);
343 : :
344 : 0 : sal_Bool bModified(sal_False);
345 : 0 : sal_Bool bSwitchOffLinear(sal_False);
346 : 0 : sal_Bool bSwitchOffGradient(sal_False);
347 : :
348 [ # # ][ # # ]: 0 : if(aMtrTransparent.IsEnabled())
349 : : {
350 : : // linear transparence
351 [ # # ]: 0 : sal_uInt16 nPos = (sal_uInt16)aMtrTransparent.GetValue();
352 [ # # ][ # # ]: 0 : if(nPos != (sal_uInt16)aMtrTransparent.GetSavedValue().ToInt32() || !bLinearActive)
[ # # ][ # # ]
353 : : {
354 [ # # ]: 0 : XFillTransparenceItem aItem(nPos);
355 [ # # ]: 0 : SdrShadowTransparenceItem aShadowItem(nPos);
356 [ # # ]: 0 : const SfxPoolItem* pOld = GetOldItem(rAttrs, XATTR_FILLTRANSPARENCE);
357 [ # # ][ # # ]: 0 : if(!pOld || !(*(const XFillTransparenceItem*)pOld == aItem) || !bLinearActive)
[ # # ][ # # ]
[ # # ]
358 : : {
359 [ # # ]: 0 : rAttrs.Put(aItem);
360 [ # # ]: 0 : rAttrs.Put(aShadowItem);
361 : 0 : bModified = sal_True;
362 : 0 : bSwitchOffGradient = sal_True;
363 [ # # ][ # # ]: 0 : }
364 : : }
365 : : }
366 [ # # ][ # # ]: 0 : else if(aLbTrgrGradientType.IsEnabled())
367 : : {
368 : : // transparence gradient, fill ItemSet from values
369 [ # # # # ]: 0 : if(!bGradActive
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
370 [ # # ]: 0 : || (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos() != (XGradientStyle)aLbTrgrGradientType.GetSavedValue()
371 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrAngle.GetValue() != (sal_uInt16)aMtrTrgrAngle.GetSavedValue().ToInt32()
372 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrCenterX.GetValue() != (sal_uInt16)aMtrTrgrCenterX.GetSavedValue().ToInt32()
373 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrCenterY.GetValue() != (sal_uInt16)aMtrTrgrCenterY.GetSavedValue().ToInt32()
374 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrBorder.GetValue() != (sal_uInt16)aMtrTrgrBorder.GetSavedValue().ToInt32()
375 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrStartValue.GetValue() != (sal_uInt16)aMtrTrgrStartValue.GetSavedValue().ToInt32()
376 [ # # ][ # # ]: 0 : || (sal_uInt16)aMtrTrgrEndValue.GetValue() != (sal_uInt16)aMtrTrgrEndValue.GetSavedValue().ToInt32() )
377 : : {
378 [ # # ]: 0 : sal_uInt8 nStartCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrStartValue.GetValue() * 255) / 100);
379 [ # # ]: 0 : sal_uInt8 nEndCol = (sal_uInt8)(((sal_uInt16)aMtrTrgrEndValue.GetValue() * 255) / 100);
380 : : XGradient aTmpGradient(
381 : : Color(nStartCol, nStartCol, nStartCol),
382 : : Color(nEndCol, nEndCol, nEndCol),
383 [ # # ]: 0 : (XGradientStyle)aLbTrgrGradientType.GetSelectEntryPos(),
384 [ # # ]: 0 : (sal_uInt16)aMtrTrgrAngle.GetValue() * 10,
385 [ # # ]: 0 : (sal_uInt16)aMtrTrgrCenterX.GetValue(),
386 [ # # ]: 0 : (sal_uInt16)aMtrTrgrCenterY.GetValue(),
387 [ # # ]: 0 : (sal_uInt16)aMtrTrgrBorder.GetValue(),
388 [ # # ]: 0 : 100, 100);
389 : :
390 [ # # ]: 0 : String aString;
391 [ # # ]: 0 : XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aTmpGradient);
392 [ # # ]: 0 : const SfxPoolItem* pOld = GetOldItem(rAttrs, XATTR_FILLFLOATTRANSPARENCE);
393 : :
394 [ # # ][ # # ]: 0 : if(!pOld || !(*(const XFillFloatTransparenceItem*)pOld == aItem) || !bGradActive)
[ # # ][ # # ]
[ # # ]
395 : : {
396 [ # # ]: 0 : rAttrs.Put(aItem);
397 : 0 : bModified = sal_True;
398 : 0 : bSwitchOffLinear = sal_True;
399 [ # # ][ # # ]: 0 : }
400 : : }
401 : : }
402 : : else
403 : : {
404 : : // no transparence
405 : 0 : bSwitchOffGradient = sal_True;
406 : 0 : bSwitchOffLinear = sal_True;
407 : : }
408 : :
409 : : // disable unused XFillFloatTransparenceItem
410 [ # # ][ # # ]: 0 : if(bSwitchOffGradient && (bGradActive || bGradUsed))
[ # # ]
411 : : {
412 : 0 : Color aColor(COL_BLACK);
413 [ # # ]: 0 : XGradient aGrad(aColor, Color(COL_WHITE));
414 : 0 : aGrad.SetStartIntens(100);
415 : 0 : aGrad.SetEndIntens(100);
416 [ # # ]: 0 : String aString;
417 [ # # ]: 0 : XFillFloatTransparenceItem aItem( rXFSet.GetPool()/*aString*/, aGrad);
418 : 0 : aItem.SetEnabled(sal_False);
419 [ # # ]: 0 : rAttrs.Put(aItem);
420 [ # # ][ # # ]: 0 : bModified = sal_True;
421 : : }
422 : :
423 : : // disable unused XFillFloatTransparenceItem
424 [ # # ][ # # ]: 0 : if(bSwitchOffLinear && (bLinearActive || bLinearUsed))
[ # # ]
425 : : {
426 [ # # ]: 0 : XFillTransparenceItem aItem(0);
427 [ # # ]: 0 : SdrShadowTransparenceItem aShadowItem(0);
428 [ # # ]: 0 : rAttrs.Put(aItem);
429 [ # # ]: 0 : rAttrs.Put(aShadowItem);
430 [ # # ][ # # ]: 0 : bModified = sal_True;
431 : : }
432 [ # # ][ # # ]: 0 : rAttrs.Put (CntUInt16Item(SID_PAGE_TYPE,nPageType));
[ # # ]
433 : 0 : return bModified;
434 : : }
435 : :
436 : 0 : void SvxTransparenceTabPage::Reset(const SfxItemSet& rAttrs)
437 : : {
438 : 0 : const SfxPoolItem* pGradientItem = NULL;
439 [ # # ]: 0 : SfxItemState eStateGradient(rAttrs.GetItemState(XATTR_FILLFLOATTRANSPARENCE, sal_True, &pGradientItem));
440 [ # # ]: 0 : if(!pGradientItem)
441 [ # # ]: 0 : pGradientItem = &rAttrs.Get(XATTR_FILLFLOATTRANSPARENCE);
442 [ # # ][ # # ]: 0 : sal_Bool bGradActive = (eStateGradient == SFX_ITEM_SET && ((XFillFloatTransparenceItem*)pGradientItem)->IsEnabled());
443 : :
444 : 0 : const SfxPoolItem* pLinearItem = NULL;
445 [ # # ]: 0 : SfxItemState eStateLinear(rAttrs.GetItemState(XATTR_FILLTRANSPARENCE, sal_True, &pLinearItem));
446 [ # # ]: 0 : if(!pLinearItem)
447 [ # # ]: 0 : pLinearItem = &rAttrs.Get(XATTR_FILLTRANSPARENCE);
448 [ # # ][ # # ]: 0 : sal_Bool bLinearActive = (eStateLinear == SFX_ITEM_SET && ((XFillTransparenceItem*)pLinearItem)->GetValue() != 0);
449 : :
450 : : // transparence gradient
451 [ # # ]: 0 : const XGradient& rGradient = ((XFillFloatTransparenceItem*)pGradientItem)->GetGradientValue();
452 : 0 : XGradientStyle eXGS(rGradient.GetGradientStyle());
453 [ # # ]: 0 : aLbTrgrGradientType.SelectEntryPos(sal::static_int_cast< sal_uInt16 >(eXGS));
454 [ # # ]: 0 : aMtrTrgrAngle.SetValue(rGradient.GetAngle() / 10);
455 [ # # ]: 0 : aMtrTrgrBorder.SetValue(rGradient.GetBorder());
456 [ # # ]: 0 : aMtrTrgrCenterX.SetValue(rGradient.GetXOffset());
457 [ # # ]: 0 : aMtrTrgrCenterY.SetValue(rGradient.GetYOffset());
458 [ # # ]: 0 : aMtrTrgrStartValue.SetValue((sal_uInt16)((((sal_uInt16)rGradient.GetStartColor().GetRed() + 1) * 100) / 255));
459 [ # # ]: 0 : aMtrTrgrEndValue.SetValue((sal_uInt16)((((sal_uInt16)rGradient.GetEndColor().GetRed() + 1) * 100) / 255));
460 : :
461 : : // linear transparence
462 : 0 : sal_uInt16 nTransp = ((XFillTransparenceItem*)pLinearItem)->GetValue();
463 [ # # ][ # # ]: 0 : aMtrTransparent.SetValue(bLinearActive ? nTransp : 50);
464 [ # # ]: 0 : ModifyTransparentHdl_Impl(NULL);
465 : :
466 : : // select the correct radio button
467 [ # # ]: 0 : if(bGradActive)
468 : : {
469 : : // transparence gradient, set controls appropriate to item
470 [ # # ]: 0 : aRbtTransGradient.Check();
471 [ # # ]: 0 : ClickTransGradientHdl_Impl(NULL);
472 : : }
473 [ # # ]: 0 : else if(bLinearActive)
474 : : {
475 : : // linear transparence
476 [ # # ]: 0 : aRbtTransLinear.Check();
477 [ # # ]: 0 : ClickTransLinearHdl_Impl(NULL);
478 : : }
479 : : else
480 : : {
481 : : // no transparence
482 [ # # ]: 0 : aRbtTransOff.Check();
483 [ # # ]: 0 : ClickTransOffHdl_Impl(NULL);
484 [ # # ]: 0 : ModifiedTrgrHdl_Impl(NULL);
485 : : }
486 : :
487 : : // save values
488 [ # # ]: 0 : aMtrTransparent.SaveValue();
489 [ # # ]: 0 : aLbTrgrGradientType.SaveValue();
490 [ # # ]: 0 : aMtrTrgrCenterX.SaveValue();
491 [ # # ]: 0 : aMtrTrgrCenterY.SaveValue();
492 [ # # ]: 0 : aMtrTrgrAngle.SaveValue();
493 [ # # ]: 0 : aMtrTrgrBorder.SaveValue();
494 [ # # ]: 0 : aMtrTrgrStartValue.SaveValue();
495 [ # # ]: 0 : aMtrTrgrEndValue.SaveValue();
496 : :
497 [ # # ]: 0 : sal_Bool bActive = InitPreview ( rAttrs );
498 [ # # ]: 0 : InvalidatePreview ( bActive );
499 : 0 : }
500 : :
501 : 0 : void SvxTransparenceTabPage::ActivatePage(const SfxItemSet& rSet)
502 : : {
503 : 0 : SFX_ITEMSET_ARG (&rSet,pPageTypeItem,CntUInt16Item,SID_PAGE_TYPE,sal_False);
504 [ # # ]: 0 : if (pPageTypeItem)
505 : 0 : SetPageType(pPageTypeItem->GetValue());
506 : :
507 [ # # ]: 0 : if(nDlgType == 0) // area dialog
508 : 0 : nPageType = PT_TRANSPARENCE;
509 : :
510 : 0 : InitPreview ( rSet );
511 : 0 : }
512 : :
513 : 0 : int SvxTransparenceTabPage::DeactivatePage(SfxItemSet* _pSet)
514 : : {
515 [ # # ]: 0 : if( _pSet )
516 : 0 : FillItemSet( *_pSet );
517 : 0 : return(LEAVE_PAGE);
518 : : }
519 : :
520 : 0 : void SvxTransparenceTabPage::PointChanged(Window* , RECT_POINT eRcPt)
521 : : {
522 : 0 : eRP = eRcPt;
523 : 0 : }
524 : :
525 : : //
526 : : // Preview-Methods
527 : : //
528 : 0 : sal_Bool SvxTransparenceTabPage::InitPreview ( const SfxItemSet& rSet )
529 : : {
530 : : // set transparencetyp for preview
531 [ # # ]: 0 : if ( aRbtTransOff.IsChecked() )
532 : : {
533 : 0 : ClickTransOffHdl_Impl(NULL);
534 [ # # ]: 0 : } else if ( aRbtTransLinear.IsChecked() )
535 : : {
536 : 0 : ClickTransLinearHdl_Impl(NULL);
537 [ # # ]: 0 : } else if ( aRbtTransGradient.IsChecked() )
538 : : {
539 : 0 : ClickTransGradientHdl_Impl(NULL);
540 : : }
541 : :
542 : : // Get fillstyle for preview
543 : 0 : rXFSet.Put ( ( XFillStyleItem& ) rSet.Get(XATTR_FILLSTYLE) );
544 : 0 : rXFSet.Put ( ( XFillColorItem& ) rSet.Get(XATTR_FILLCOLOR) );
545 : 0 : rXFSet.Put ( ( XFillGradientItem& ) rSet.Get(XATTR_FILLGRADIENT) );
546 : 0 : rXFSet.Put ( ( XFillHatchItem& ) rSet.Get(XATTR_FILLHATCH) );
547 : 0 : rXFSet.Put ( ( XFillBackgroundItem&)rSet.Get(XATTR_FILLBACKGROUND) );
548 : 0 : rXFSet.Put ( ( XFillBitmapItem& ) rSet.Get(XATTR_FILLBITMAP) );
549 : :
550 : 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
551 : 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
552 : :
553 : 0 : bBitmap = ( ( ( XFillStyleItem& )rSet.Get(XATTR_FILLSTYLE) ).GetValue() == XFILL_BITMAP );
554 : :
555 : : // show the right preview window
556 [ # # ]: 0 : if ( bBitmap )
557 : : {
558 : 0 : aCtlBitmapPreview.Show();
559 : 0 : aCtlXRectPreview.Hide();
560 : : }
561 : : else
562 : : {
563 : 0 : aCtlBitmapPreview.Hide();
564 : 0 : aCtlXRectPreview.Show();
565 : : }
566 : :
567 : 0 : return !aRbtTransOff.IsChecked();
568 : : }
569 : :
570 : 0 : void SvxTransparenceTabPage::InvalidatePreview (sal_Bool bEnable)
571 : : {
572 [ # # ]: 0 : if ( bBitmap )
573 : : {
574 [ # # ]: 0 : if ( bEnable )
575 : : {
576 : 0 : aCtlBitmapPreview.Enable();
577 : 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
578 : : }
579 : : else
580 : 0 : aCtlBitmapPreview.Disable();
581 : 0 : aCtlBitmapPreview.Invalidate();
582 : : }
583 : : else
584 : : {
585 [ # # ]: 0 : if ( bEnable )
586 : : {
587 : 0 : aCtlXRectPreview.Enable();
588 : 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
589 : : }
590 : : else
591 : 0 : aCtlXRectPreview.Disable();
592 : 0 : aCtlXRectPreview.Invalidate();
593 : : }
594 : 0 : }
595 : :
596 : 0 : void SvxTransparenceTabPage::PageCreated (SfxAllItemSet aSet)
597 : : {
598 : 0 : SFX_ITEMSET_ARG (&aSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False);
599 : 0 : SFX_ITEMSET_ARG (&aSet,pDlgTypeItem,SfxUInt16Item,SID_DLG_TYPE,sal_False);
600 : :
601 [ # # ]: 0 : if (pPageTypeItem)
602 : 0 : SetPageType(pPageTypeItem->GetValue());
603 [ # # ]: 0 : if (pDlgTypeItem)
604 : 0 : SetDlgType(pDlgTypeItem->GetValue());
605 : 0 : Construct();
606 : 0 : }
607 : : /*************************************************************************
608 : : |*
609 : : |* Dialog to modify fill-attributes
610 : : |*
611 : : \************************************************************************/
612 : :
613 : 0 : SvxAreaTabPage::SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs ) :
614 : :
615 : 0 : SvxTabPage ( pParent, CUI_RES( RID_SVXPAGE_AREA ), rInAttrs ),
616 : :
617 [ # # ]: 0 : aFlProp ( this, CUI_RES( FL_PROP ) ),
618 [ # # ]: 0 : aTypeLB ( this, CUI_RES( LB_AREA_TYPE ) ),
619 : :
620 [ # # ]: 0 : aLbColor ( this, CUI_RES( LB_COLOR ) ),
621 [ # # ]: 0 : aLbGradient ( this, CUI_RES( LB_GRADIENT ) ),
622 [ # # ]: 0 : aLbHatching ( this, CUI_RES( LB_HATCHING ) ),
623 [ # # ]: 0 : aLbBitmap ( this, CUI_RES( LB_BITMAP ) ),
624 [ # # ]: 0 : aCtlBitmapPreview ( this, CUI_RES( CTL_BITMAP_PREVIEW ) ),
625 : :
626 [ # # ]: 0 : aTsbStepCount ( this, CUI_RES( TSB_STEPCOUNT ) ),
627 [ # # ]: 0 : aFlStepCount ( this, CUI_RES( FL_STEPCOUNT ) ),
628 [ # # ]: 0 : aNumFldStepCount ( this, CUI_RES( NUM_FLD_STEPCOUNT ) ),
629 : :
630 [ # # ]: 0 : aCbxHatchBckgrd ( this, CUI_RES( CB_HATCHBCKGRD ) ),
631 [ # # ]: 0 : aLbHatchBckgrdColor ( this, CUI_RES( LB_HATCHBCKGRDCOLOR ) ),
632 : :
633 [ # # ]: 0 : aFlSize ( this, CUI_RES( FL_SIZE ) ),
634 [ # # ]: 0 : aTsbOriginal ( this, CUI_RES( TSB_ORIGINAL ) ),
635 [ # # ]: 0 : aTsbScale ( this, CUI_RES( TSB_SCALE ) ),
636 [ # # ]: 0 : aFtXSize ( this, CUI_RES( FT_X_SIZE ) ),
637 [ # # ]: 0 : aMtrFldXSize ( this, CUI_RES( MTR_FLD_X_SIZE ) ),
638 [ # # ]: 0 : aFtYSize ( this, CUI_RES( FT_Y_SIZE ) ),
639 [ # # ]: 0 : aMtrFldYSize ( this, CUI_RES( MTR_FLD_Y_SIZE ) ),
640 [ # # ]: 0 : aFlPosition ( this, CUI_RES( FL_POSITION ) ),
641 [ # # ]: 0 : aCtlPosition ( this, CUI_RES( CTL_POSITION ), RP_RM, 110, 80, CS_RECT ),
642 [ # # ]: 0 : aFtXOffset ( this, CUI_RES( FT_X_OFFSET ) ),
643 [ # # ]: 0 : aMtrFldXOffset ( this, CUI_RES( MTR_FLD_X_OFFSET ) ),
644 [ # # ]: 0 : aFtYOffset ( this, CUI_RES( FT_Y_OFFSET ) ),
645 [ # # ]: 0 : aMtrFldYOffset ( this, CUI_RES( MTR_FLD_Y_OFFSET ) ),
646 [ # # ]: 0 : aTsbTile ( this, CUI_RES( TSB_TILE ) ),
647 [ # # ]: 0 : aTsbStretch ( this, CUI_RES( TSB_STRETCH ) ),
648 [ # # ]: 0 : aFlOffset ( this, CUI_RES( FL_OFFSET ) ),
649 [ # # ]: 0 : aRbtRow ( this, CUI_RES( RBT_ROW ) ),
650 [ # # ]: 0 : aRbtColumn ( this, CUI_RES( RBT_COLUMN ) ),
651 [ # # ]: 0 : aMtrFldOffset ( this, CUI_RES( MTR_FLD_OFFSET ) ),
652 : :
653 [ # # ]: 0 : aCtlXRectPreview ( this, CUI_RES( CTL_COLOR_PREVIEW ) ),
654 : :
655 : : rOutAttrs ( rInAttrs ),
656 : :
657 : : pColorList( NULL ),
658 : : pGradientList( NULL ),
659 : : pHatchingList( NULL ),
660 : : pBitmapList( NULL ),
661 : :
662 : 0 : pXPool ( (XOutdevItemPool*) rInAttrs.GetPool() ),
663 : : aXFillAttr ( pXPool ),
664 [ # # ][ # # ]: 0 : rXFSet ( aXFillAttr.GetItemSet() )
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
665 : : {
666 [ # # ]: 0 : FreeResource();
667 : :
668 [ # # ][ # # ]: 0 : String accName = String(CUI_RES(STR_EXAMPLE));
669 [ # # ]: 0 : aCtlXRectPreview.SetAccessibleName(accName);
670 [ # # ]: 0 : aCtlBitmapPreview.SetAccessibleName(accName);
671 : :
672 : : // groups that overlay each other
673 [ # # ]: 0 : aLbBitmap.Hide();
674 [ # # ]: 0 : aCtlBitmapPreview.Hide();
675 : :
676 [ # # ]: 0 : aFlStepCount.Hide();
677 [ # # ]: 0 : aTsbStepCount.Hide();
678 [ # # ]: 0 : aNumFldStepCount.Hide();
679 : :
680 [ # # ]: 0 : aTsbTile.Hide();
681 [ # # ]: 0 : aTsbStretch.Hide();
682 [ # # ]: 0 : aTsbScale.Hide();
683 [ # # ]: 0 : aTsbOriginal.Hide();
684 [ # # ]: 0 : aFtXSize.Hide();
685 [ # # ]: 0 : aMtrFldXSize.Hide();
686 [ # # ]: 0 : aFtYSize.Hide();
687 [ # # ]: 0 : aMtrFldYSize.Hide();
688 [ # # ]: 0 : aFlSize.Hide();
689 [ # # ]: 0 : aRbtRow.Hide();
690 [ # # ]: 0 : aRbtColumn.Hide();
691 [ # # ]: 0 : aMtrFldOffset.Hide();
692 [ # # ]: 0 : aFlOffset.Hide();
693 [ # # ]: 0 : aCtlPosition.Hide();
694 [ # # ]: 0 : aFtXOffset.Hide();
695 [ # # ]: 0 : aMtrFldXOffset.Hide();
696 [ # # ]: 0 : aFtYOffset.Hide();
697 [ # # ]: 0 : aMtrFldYOffset.Hide();
698 [ # # ]: 0 : aFlPosition.Hide();
699 : : // Controls for Hatch-Background
700 [ # # ]: 0 : aCbxHatchBckgrd.Hide();
701 [ # # ]: 0 : aLbHatchBckgrdColor.Hide();
702 : :
703 : :
704 [ # # ]: 0 : aTsbOriginal.EnableTriState( sal_False );
705 : :
706 : :
707 : : // this page needs ExchangeSupport
708 : 0 : SetExchangeSupport();
709 : :
710 : : // set Metrics
711 [ # # ]: 0 : eFUnit = GetModuleFieldUnit( rInAttrs );
712 : :
713 [ # # ]: 0 : switch ( eFUnit )
714 : : {
715 : : case FUNIT_M:
716 : : case FUNIT_KM:
717 : 0 : eFUnit = FUNIT_MM;
718 : 0 : break;
719 : : default: ;//prevent warning
720 : : }
721 [ # # ]: 0 : SetFieldUnit( aMtrFldXSize, eFUnit, sal_True );
722 [ # # ]: 0 : SetFieldUnit( aMtrFldYSize, eFUnit, sal_True );
723 : :
724 : : // get PoolUnit
725 : 0 : SfxItemPool* pPool = rOutAttrs.GetPool();
726 : : DBG_ASSERT( pPool, "Wo ist der Pool?" );
727 [ # # ]: 0 : ePoolUnit = pPool->GetMetric( XATTR_FILLBMP_SIZEX );
728 : :
729 : : // setting the output device
730 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_SOLID ) );
[ # # ]
731 [ # # ][ # # ]: 0 : rXFSet.Put( XFillColorItem( String(), COL_BLACK ) );
[ # # ][ # # ]
[ # # ]
732 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
733 [ # # ]: 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
734 : :
735 [ # # ]: 0 : aLbColor.SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyColorHdl_Impl ) );
736 [ # # ]: 0 : aLbHatchBckgrdColor.SetSelectHdl( LINK( this, SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl ) );
737 [ # # ]: 0 : aCbxHatchBckgrd.SetToggleHdl( LINK( this, SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl ) );
738 : :
739 : : aLbGradient.SetSelectHdl(
740 [ # # ]: 0 : LINK( this, SvxAreaTabPage, ModifyGradientHdl_Impl ) );
741 : : aLbHatching.SetSelectHdl(
742 [ # # ]: 0 : LINK( this, SvxAreaTabPage, ModifyHatchingHdl_Impl ) );
743 : : aLbBitmap.SetSelectHdl(
744 [ # # ]: 0 : LINK( this, SvxAreaTabPage, ModifyBitmapHdl_Impl ) );
745 : :
746 : : aTsbStepCount.SetClickHdl(
747 [ # # ]: 0 : LINK( this, SvxAreaTabPage, ModifyStepCountHdl_Impl ) );
748 : : aNumFldStepCount.SetModifyHdl(
749 [ # # ]: 0 : LINK( this, SvxAreaTabPage, ModifyStepCountHdl_Impl ) );
750 : :
751 [ # # ]: 0 : Link aLink( LINK( this, SvxAreaTabPage, ModifyTileHdl_Impl ) );
752 : 0 : aTsbTile.SetClickHdl( aLink );
753 : 0 : aTsbStretch.SetClickHdl( aLink );
754 : 0 : aTsbOriginal.SetClickHdl( aLink );
755 : 0 : aMtrFldXSize.SetModifyHdl( aLink );
756 : 0 : aMtrFldYSize.SetModifyHdl( aLink );
757 : 0 : aRbtRow.SetClickHdl( aLink );
758 : 0 : aRbtColumn.SetClickHdl( aLink );
759 : 0 : aMtrFldOffset.SetModifyHdl( aLink );
760 : 0 : aMtrFldXOffset.SetModifyHdl( aLink );
761 : 0 : aMtrFldYOffset.SetModifyHdl( aLink );
762 [ # # ]: 0 : aTsbScale.SetClickHdl( LINK( this, SvxAreaTabPage, ClickScaleHdl_Impl ) );
763 : :
764 [ # # ]: 0 : aTypeLB.SetSelectHdl( LINK( this, SvxAreaTabPage, SelectDialogTypeHdl_Impl ) );
765 : :
766 : : // #i76307# always paint the preview in LTR, because this is what the document does
767 [ # # ]: 0 : aCtlXRectPreview.EnableRTL(sal_False);
768 : :
769 [ # # ]: 0 : aNumFldStepCount.SetAccessibleRelationLabeledBy( &aTsbStepCount );
770 [ # # ]: 0 : aCtlPosition.SetAccessibleRelationMemberOf( &aFlPosition );
771 [ # # ]: 0 : aLbHatchBckgrdColor.SetAccessibleRelationLabeledBy( &aCbxHatchBckgrd );
772 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.SetAccessibleName(aCbxHatchBckgrd.GetText());
[ # # ]
773 : :
774 [ # # ]: 0 : aLbColor.SetAccessibleRelationMemberOf( &aFlProp );
775 [ # # ]: 0 : aMtrFldOffset.SetAccessibleRelationLabeledBy(&aFlOffset);
776 [ # # ][ # # ]: 0 : aMtrFldOffset.SetAccessibleName(aFlOffset.GetText());
[ # # ][ # # ]
777 : 0 : }
778 : :
779 : : // -----------------------------------------------------------------------
780 : :
781 : 0 : void SvxAreaTabPage::Construct()
782 : : {
783 : : // fill colortables / lists
784 : 0 : aLbColor.Fill( pColorList );
785 : 0 : aLbHatchBckgrdColor.Fill ( pColorList );
786 : :
787 : 0 : aLbGradient.Fill( pGradientList );
788 : 0 : aLbHatching.Fill( pHatchingList );
789 : 0 : aLbBitmap.Fill( pBitmapList );
790 : 0 : }
791 : :
792 : : // -----------------------------------------------------------------------
793 : :
794 : 0 : void SvxAreaTabPage::ActivatePage( const SfxItemSet& rSet )
795 : : {
796 : : sal_uInt16 nCount;
797 : 0 : SFX_ITEMSET_ARG (&rSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False);
798 : 0 : SFX_ITEMSET_ARG (&rSet,pPosItem,SfxUInt16Item,SID_TABPAGE_POS,sal_False);
799 [ # # ]: 0 : if (pPageTypeItem)
800 : 0 : SetPageType(pPageTypeItem->GetValue());
801 [ # # ]: 0 : if (pPosItem)
802 : 0 : SetPos(pPosItem->GetValue());
803 [ # # ]: 0 : if( nDlgType == 0 ) // area dialog
804 : : {
805 : 0 : *pbAreaTP = sal_True;
806 : :
807 [ # # ]: 0 : if( pColorList.is() )
808 : : {
809 : 0 : sal_uInt16 _nPos = 0;
810 : :
811 [ # # ]: 0 : if( *pnBitmapListState )
812 : : {
813 [ # # ]: 0 : if( *pnBitmapListState & CT_CHANGED )
814 : 0 : pBitmapList = ( (SvxAreaTabDialog*) GetParentDialog() )->
815 [ # # ]: 0 : GetNewBitmapList();
816 : :
817 : 0 : _nPos = aLbBitmap.GetSelectEntryPos();
818 : :
819 : 0 : aLbBitmap.Clear();
820 : 0 : aLbBitmap.Fill( pBitmapList );
821 : 0 : nCount = aLbBitmap.GetEntryCount();
822 [ # # ]: 0 : if( nCount == 0 )
823 : : ; // This case should never occur
824 [ # # ]: 0 : else if( nCount <= _nPos )
825 : 0 : aLbBitmap.SelectEntryPos( 0 );
826 : : else
827 : 0 : aLbBitmap.SelectEntryPos( _nPos );
828 : 0 : ModifyBitmapHdl_Impl( this );
829 : : }
830 : :
831 [ # # ]: 0 : if( *pnHatchingListState )
832 : : {
833 [ # # ]: 0 : if( *pnHatchingListState & CT_CHANGED )
834 : 0 : pHatchingList = ( (SvxAreaTabDialog*) GetParentDialog() )->
835 [ # # ]: 0 : GetNewHatchingList();
836 : :
837 : 0 : _nPos = aLbHatching.GetSelectEntryPos();
838 : :
839 : 0 : aLbHatching.Clear();
840 : 0 : aLbHatching.Fill( pHatchingList );
841 : 0 : nCount = aLbHatching.GetEntryCount();
842 [ # # ]: 0 : if( nCount == 0 )
843 : : ; // This case should never occur
844 [ # # ]: 0 : else if( nCount <= _nPos )
845 : 0 : aLbHatching.SelectEntryPos( 0 );
846 : : else
847 : 0 : aLbHatching.SelectEntryPos( _nPos );
848 : 0 : ModifyHatchingHdl_Impl( this );
849 : :
850 : 0 : ModifyHatchBckgrdColorHdl_Impl( this );
851 : : }
852 : :
853 [ # # ]: 0 : if( *pnGradientListState )
854 : : {
855 [ # # ]: 0 : if( *pnGradientListState & CT_CHANGED )
856 : 0 : pGradientList = ( (SvxAreaTabDialog*) GetParentDialog() )->
857 [ # # ]: 0 : GetNewGradientList();
858 : :
859 : 0 : _nPos = aLbGradient.GetSelectEntryPos();
860 : :
861 : 0 : aLbGradient.Clear();
862 : 0 : aLbGradient.Fill( pGradientList );
863 : 0 : nCount = aLbGradient.GetEntryCount();
864 [ # # ]: 0 : if( nCount == 0 )
865 : : ; // This case should never occur
866 [ # # ]: 0 : else if( nCount <= _nPos )
867 : 0 : aLbGradient.SelectEntryPos( 0 );
868 : : else
869 : 0 : aLbGradient.SelectEntryPos( _nPos );
870 : 0 : ModifyGradientHdl_Impl( this );
871 : : }
872 : :
873 [ # # ]: 0 : if( *pnColorListState )
874 : : {
875 [ # # ]: 0 : if( *pnColorListState & CT_CHANGED )
876 : 0 : pColorList = ( (SvxAreaTabDialog*) GetParentDialog() )->
877 [ # # ]: 0 : GetNewColorList();
878 : : // aLbColor
879 : 0 : _nPos = aLbColor.GetSelectEntryPos();
880 : 0 : aLbColor.Clear();
881 : 0 : aLbColor.Fill( pColorList );
882 : 0 : nCount = aLbColor.GetEntryCount();
883 [ # # ]: 0 : if( nCount == 0 )
884 : : ; // This case should never occur
885 [ # # ]: 0 : else if( nCount <= _nPos )
886 : 0 : aLbColor.SelectEntryPos( 0 );
887 : : else
888 : 0 : aLbColor.SelectEntryPos( _nPos );
889 : :
890 : 0 : ModifyColorHdl_Impl( this );
891 : :
892 : : // Backgroundcolor of hatch
893 : 0 : _nPos = aLbHatchBckgrdColor.GetSelectEntryPos();
894 : 0 : aLbHatchBckgrdColor.Clear();
895 : 0 : aLbHatchBckgrdColor.Fill( pColorList );
896 : 0 : nCount = aLbHatchBckgrdColor.GetEntryCount();
897 [ # # ]: 0 : if( nCount == 0 )
898 : : ; // This case should never occur
899 [ # # ]: 0 : else if( nCount <= _nPos )
900 : 0 : aLbHatchBckgrdColor.SelectEntryPos( 0 );
901 : : else
902 : 0 : aLbHatchBckgrdColor.SelectEntryPos( _nPos );
903 : :
904 : 0 : ModifyHatchBckgrdColorHdl_Impl( this );
905 : : }
906 : :
907 : : // evaluate if any other Tabpage set another filltype
908 [ # # ]: 0 : if( aTypeLB.GetSelectEntryPos() > XFILL_NONE)
909 : : {
910 [ # # # # : 0 : switch( nPageType )
# ]
911 : : {
912 : : case PT_GRADIENT:
913 : 0 : aTypeLB.SelectEntryPos( XFILL_GRADIENT );
914 : 0 : aLbGradient.SelectEntryPos( _nPos );
915 : 0 : ClickGradientHdl_Impl();
916 : 0 : break;
917 : :
918 : : case PT_HATCH:
919 : 0 : aTypeLB.SelectEntryPos( XFILL_HATCH );
920 : 0 : aLbHatching.SelectEntryPos( _nPos );
921 : 0 : ClickHatchingHdl_Impl();
922 : 0 : break;
923 : :
924 : : case PT_BITMAP:
925 : 0 : aTypeLB.SelectEntryPos( XFILL_BITMAP );
926 : 0 : aLbBitmap.SelectEntryPos( _nPos );
927 : 0 : ClickBitmapHdl_Impl();
928 : 0 : break;
929 : :
930 : : case PT_COLOR:
931 : 0 : aTypeLB.SelectEntryPos( XFILL_SOLID );
932 : 0 : aLbColor.SelectEntryPos( _nPos );
933 : 0 : aLbHatchBckgrdColor.SelectEntryPos( _nPos );
934 : 0 : ClickColorHdl_Impl();
935 : 0 : break;
936 : : }
937 : : }
938 : 0 : nPageType = PT_AREA;
939 : : }
940 : : }
941 : 0 : }
942 : :
943 : : // -----------------------------------------------------------------------
944 : :
945 : 0 : int SvxAreaTabPage::DeactivatePage( SfxItemSet* _pSet )
946 : : {
947 [ # # ]: 0 : if( nDlgType == 0 ) // area dialog
948 : : {
949 : 0 : sal_uInt16 nPosOrig = nPos;
950 : 0 : XFillStyle eStyle = (XFillStyle) aTypeLB.GetSelectEntryPos();
951 [ # # # # : 0 : switch( eStyle )
# ]
952 : : {
953 : : case XFILL_GRADIENT:
954 : : {
955 : 0 : nPageType = PT_GRADIENT;
956 : 0 : nPos = aLbGradient.GetSelectEntryPos();
957 [ # # ]: 0 : if( nPosOrig != nPos )
958 : 0 : *pnGradientListState |= CT_MODIFIED;
959 : : }
960 : 0 : break;
961 : : case XFILL_HATCH:
962 : : {
963 : 0 : nPageType = PT_HATCH;
964 : 0 : nPos = aLbHatching.GetSelectEntryPos();
965 [ # # ]: 0 : if( nPosOrig != nPos )
966 : 0 : *pnHatchingListState |= CT_MODIFIED;
967 : : }
968 : 0 : break;
969 : : case XFILL_BITMAP:
970 : : {
971 : 0 : nPageType = PT_BITMAP;
972 : 0 : nPos = aLbBitmap.GetSelectEntryPos();
973 [ # # ]: 0 : if( nPosOrig != nPos )
974 : 0 : *pnBitmapListState |= CT_MODIFIED;
975 : : }
976 : 0 : break;
977 : : case XFILL_SOLID:
978 : : {
979 : 0 : nPageType = PT_COLOR;
980 : 0 : nPos = aLbColor.GetSelectEntryPos();
981 [ # # ]: 0 : if( nPosOrig != nPos )
982 : 0 : *pnColorListState |= CT_MODIFIED;
983 : : }
984 : 0 : break;
985 : : default: ;//prevent warning
986 : : }
987 : : }
988 : :
989 [ # # ]: 0 : if( _pSet )
990 : 0 : FillItemSet( *_pSet );
991 : :
992 : 0 : return( LEAVE_PAGE );
993 : : }
994 : :
995 : : // -----------------------------------------------------------------------
996 : :
997 : 0 : sal_Bool SvxAreaTabPage::FillItemSet( SfxItemSet& rAttrs )
998 : : {
999 : 0 : const SfxPoolItem* pOld = NULL;
1000 : : sal_uInt16 _nPos;
1001 : 0 : sal_Bool bModified = sal_False;
1002 : :
1003 [ # # ][ # # ]: 0 : if( nDlgType != 0 || *pbAreaTP )
1004 : : {
1005 [ # # ]: 0 : XFillStyle eStyle = (XFillStyle) aTypeLB.GetSelectEntryPos();
1006 : 0 : XFillStyle eSavedStyle = (XFillStyle) aTypeLB.GetSavedValue();
1007 [ # # # # : 0 : switch( eStyle )
# # ]
1008 : : {
1009 : : case XFILL_NONE:
1010 : : {
1011 [ # # ]: 0 : if( eSavedStyle != eStyle )
1012 : : {
1013 [ # # ]: 0 : XFillStyleItem aStyleItem( XFILL_NONE );
1014 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE );
1015 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) )
[ # # ][ # # ]
1016 : : {
1017 [ # # ]: 0 : rAttrs.Put( aStyleItem );
1018 : 0 : bModified = sal_True;
1019 [ # # ]: 0 : }
1020 : : }
1021 : : }
1022 : 0 : break;
1023 : : case XFILL_SOLID:
1024 : : {
1025 [ # # ]: 0 : _nPos = aLbColor.GetSelectEntryPos();
1026 [ # # # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND &&
[ # # ]
1027 : 0 : _nPos != aLbColor.GetSavedValue() )
1028 : : {
1029 : : XFillColorItem aItem( aLbColor.GetSelectEntry(),
1030 [ # # ][ # # ]: 0 : aLbColor.GetSelectEntryColor() );
[ # # ][ # # ]
1031 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLCOLOR );
1032 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillColorItem*)pOld == aItem ) )
[ # # ][ # # ]
1033 : : {
1034 [ # # ]: 0 : rAttrs.Put( aItem );
1035 : 0 : bModified = sal_True;
1036 [ # # ]: 0 : }
1037 : : }
1038 : : // NEW
1039 [ # # ][ # # ]: 0 : if( (eSavedStyle != eStyle) &&
[ # # ][ # # ]
1040 : : ( bModified ||
1041 [ # # ][ # # ]: 0 : SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True ) ) )
1042 : : {
1043 [ # # ]: 0 : XFillStyleItem aStyleItem( XFILL_SOLID );
1044 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE );
1045 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) )
[ # # ][ # # ]
1046 : : {
1047 [ # # ]: 0 : rAttrs.Put( aStyleItem );
1048 : 0 : bModified = sal_True;
1049 [ # # ]: 0 : }
1050 : : }
1051 : : }
1052 : 0 : break;
1053 : : case XFILL_GRADIENT:
1054 : : {
1055 [ # # ]: 0 : _nPos = aLbGradient.GetSelectEntryPos();
1056 [ # # # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND &&
[ # # ]
1057 : 0 : _nPos != aLbGradient.GetSavedValue() )
1058 : : {
1059 [ # # ]: 0 : XGradient aGradient = pGradientList->GetGradient( _nPos )->GetGradient();
1060 [ # # ]: 0 : String aString = aLbGradient.GetSelectEntry();
1061 [ # # ]: 0 : XFillGradientItem aItem( aString, aGradient );
1062 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLGRADIENT );
1063 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillGradientItem*)pOld == aItem ) )
[ # # ][ # # ]
1064 : : {
1065 [ # # ]: 0 : rAttrs.Put( aItem );
1066 : 0 : bModified = sal_True;
1067 [ # # ][ # # ]: 0 : }
1068 : : }
1069 : : // NEW
1070 [ # # ][ # # ]: 0 : if( (eSavedStyle != eStyle) &&
[ # # ][ # # ]
1071 : : ( bModified ||
1072 [ # # ][ # # ]: 0 : SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLGRADIENT ), sal_True ) ) )
1073 : : {
1074 [ # # ]: 0 : XFillStyleItem aStyleItem( XFILL_GRADIENT );
1075 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE );
1076 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) )
[ # # ][ # # ]
1077 : : {
1078 [ # # ]: 0 : rAttrs.Put( aStyleItem );
1079 : 0 : bModified = sal_True;
1080 [ # # ]: 0 : }
1081 : : }
1082 : : }
1083 : 0 : break;
1084 : : case XFILL_HATCH:
1085 : : {
1086 [ # # ]: 0 : _nPos = aLbHatching.GetSelectEntryPos();
1087 [ # # # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND &&
[ # # ]
1088 : 0 : _nPos != aLbHatching.GetSavedValue() )
1089 : : {
1090 [ # # ]: 0 : XHatch aHatching = pHatchingList->GetHatch( _nPos )->GetHatch();
1091 [ # # ]: 0 : String aString = aLbHatching.GetSelectEntry();
1092 [ # # ]: 0 : XFillHatchItem aItem( aString, aHatching );
1093 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLHATCH );
1094 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillHatchItem*)pOld == aItem ) )
[ # # ][ # # ]
1095 : : {
1096 [ # # ]: 0 : rAttrs.Put( aItem );
1097 : 0 : bModified = sal_True;
1098 [ # # ][ # # ]: 0 : }
1099 : : }
1100 [ # # ][ # # ]: 0 : XFillBackgroundItem aItem ( aCbxHatchBckgrd.IsChecked() );
1101 [ # # ]: 0 : rAttrs.Put( aItem );
1102 [ # # ]: 0 : nPos = aLbHatchBckgrdColor.GetSelectEntryPos();
1103 [ # # # # ]: 0 : if( nPos != LISTBOX_ENTRY_NOTFOUND &&
[ # # ]
1104 : 0 : nPos != aLbHatchBckgrdColor.GetSavedValue() )
1105 : : {
1106 : : XFillColorItem aFillColorItem( aLbHatchBckgrdColor.GetSelectEntry(),
1107 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.GetSelectEntryColor() );
[ # # ][ # # ]
1108 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLCOLOR );
1109 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillColorItem*)pOld == aFillColorItem ) )
[ # # ][ # # ]
1110 : : {
1111 [ # # ]: 0 : rAttrs.Put( aFillColorItem );
1112 : 0 : bModified = sal_True;
1113 [ # # ]: 0 : }
1114 : : }
1115 : : // NEW
1116 [ # # ][ # # ]: 0 : if( (eSavedStyle != eStyle) &&
[ # # ][ # # ]
1117 : : ( bModified ||
1118 [ # # ][ # # ]: 0 : SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLHATCH ), sal_True ) ) )
1119 : : {
1120 [ # # ]: 0 : XFillStyleItem aStyleItem( XFILL_HATCH );
1121 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE );
1122 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) )
[ # # ][ # # ]
1123 : : {
1124 [ # # ]: 0 : rAttrs.Put( aStyleItem );
1125 : 0 : bModified = sal_True;
1126 [ # # ]: 0 : }
1127 [ # # ]: 0 : }
1128 : : }
1129 : 0 : break;
1130 : : case XFILL_BITMAP:
1131 : : {
1132 [ # # ]: 0 : nPos = aLbBitmap.GetSelectEntryPos();
1133 [ # # # # ]: 0 : if( nPos != LISTBOX_ENTRY_NOTFOUND &&
[ # # ]
1134 : 0 : nPos != aLbBitmap.GetSavedValue() )
1135 : : {
1136 [ # # ][ # # ]: 0 : XOBitmap aXOBitmap = pBitmapList->GetBitmap( nPos )->GetXBitmap();
1137 [ # # ]: 0 : String aString = aLbBitmap.GetSelectEntry();
1138 [ # # ]: 0 : XFillBitmapItem aFillBitmapItem( aString, aXOBitmap );
1139 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBITMAP );
1140 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBitmapItem*)pOld == aFillBitmapItem ) )
[ # # ][ # # ]
1141 : : {
1142 [ # # ]: 0 : rAttrs.Put( aFillBitmapItem );
1143 : 0 : bModified = sal_True;
1144 [ # # ][ # # ]: 0 : }
[ # # ]
1145 : : }
1146 : : // NEW
1147 [ # # ][ # # ]: 0 : if( (eSavedStyle != eStyle) &&
[ # # ][ # # ]
1148 : : ( bModified ||
1149 [ # # ][ # # ]: 0 : SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True ) ) )
1150 : : {
1151 [ # # ]: 0 : XFillStyleItem aStyleItem( XFILL_BITMAP );
1152 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLSTYLE );
1153 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillStyleItem*)pOld == aStyleItem ) )
[ # # ][ # # ]
1154 : : {
1155 [ # # ]: 0 : rAttrs.Put( aStyleItem );
1156 : 0 : bModified = sal_True;
1157 [ # # ]: 0 : }
1158 : : }
1159 : : }
1160 : 0 : break;
1161 : : }
1162 : :
1163 : : // step size
1164 [ # # ][ # # ]: 0 : if( aTsbStepCount.IsEnabled() )
1165 : : {
1166 : 0 : sal_uInt16 nValue = 0;
1167 : 0 : sal_Bool bValueModified = sal_False;
1168 : 0 : TriState eState = aTsbStepCount.GetState();
1169 [ # # ]: 0 : if( eState == STATE_CHECK )
1170 : : {
1171 [ # # ]: 0 : if( eState != aTsbStepCount.GetSavedValue() )
1172 : 0 : bValueModified = sal_True;
1173 : : }
1174 : : else
1175 : : {
1176 : : // condition != Disabled ?
1177 [ # # ][ # # ]: 0 : if( aNumFldStepCount.GetText().Len() > 0 )
[ # # ]
1178 : : {
1179 [ # # ]: 0 : nValue = (sal_uInt16) aNumFldStepCount.GetValue();
1180 [ # # ][ # # ]: 0 : if( nValue != (sal_uInt16) aNumFldStepCount.GetSavedValue().ToInt32() )
1181 : 0 : bValueModified = sal_True;
1182 : : }
1183 : : }
1184 [ # # ]: 0 : if( bValueModified )
1185 : : {
1186 [ # # ]: 0 : XGradientStepCountItem aFillBitmapItem( nValue );
1187 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_GRADIENTSTEPCOUNT );
1188 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XGradientStepCountItem*)pOld == aFillBitmapItem ) )
[ # # ][ # # ]
1189 : : {
1190 [ # # ]: 0 : rAttrs.Put( aFillBitmapItem );
1191 : 0 : bModified = sal_True;
1192 [ # # ]: 0 : }
1193 : : }
1194 : : }
1195 : :
1196 [ # # ][ # # ]: 0 : if( aTsbTile.IsEnabled() )
1197 : : {
1198 : 0 : TriState eState = aTsbTile.GetState();
1199 [ # # ]: 0 : if( eState != aTsbTile.GetSavedValue() )
1200 : : {
1201 : : XFillBmpTileItem aFillBmpTileItem(
1202 [ # # ]: 0 : sal::static_int_cast< sal_Bool >( eState ) );
1203 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILE );
1204 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpTileItem*)pOld == aFillBmpTileItem ) )
[ # # ][ # # ]
1205 : : {
1206 [ # # ]: 0 : rAttrs.Put( aFillBmpTileItem );
1207 : 0 : bModified = sal_True;
1208 [ # # ]: 0 : }
1209 : : }
1210 : : }
1211 : :
1212 [ # # ][ # # ]: 0 : if( aTsbStretch.IsEnabled() )
1213 : : {
1214 : 0 : TriState eState = aTsbStretch.GetState();
1215 [ # # ]: 0 : if( eState != aTsbStretch.GetSavedValue() )
1216 : : {
1217 : : XFillBmpStretchItem aFillBmpStretchItem(
1218 [ # # ]: 0 : sal::static_int_cast< sal_Bool >( eState ) );
1219 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_STRETCH );
1220 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpStretchItem*)pOld == aFillBmpStretchItem ) )
[ # # ][ # # ]
1221 : : {
1222 [ # # ]: 0 : rAttrs.Put( aFillBmpStretchItem );
1223 : 0 : bModified = sal_True;
1224 [ # # ]: 0 : }
1225 : : }
1226 : : }
1227 : :
1228 : : // Original size (in the UI) is used as follows:
1229 : : // Controls are disabled, but have to be set.
1230 : : // SizeX = 0; SizeY = 0; Log = sal_True
1231 : :
1232 : : //aTsbScale
1233 : 0 : TriState eState = aTsbScale.GetState();
1234 [ # # ]: 0 : if( eState != aTsbScale.GetSavedValue() ||
[ # # # # ]
[ # # ][ # # ]
1235 [ # # ]: 0 : ( !aTsbScale.IsEnabled() &&
1236 [ # # ]: 0 : aTsbOriginal.IsEnabled() &&
1237 : 0 : aTsbScale.GetSavedValue() != STATE_CHECK ) )
1238 : : {
1239 : 0 : XFillBmpSizeLogItem* pItem = NULL;
1240 [ # # ][ # # ]: 0 : if( aTsbScale.IsEnabled() )
1241 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeLogItem( eState == STATE_NOCHECK );
1242 [ # # ][ # # ]: 0 : else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK )
[ # # ][ # # ]
1243 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeLogItem( sal_True );
1244 : :
1245 [ # # ]: 0 : if( pItem )
1246 : : {
1247 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZELOG );
1248 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpSizeLogItem*)pOld == *pItem ) )
[ # # ][ # # ]
1249 : : {
1250 [ # # ]: 0 : rAttrs.Put( *pItem );
1251 : 0 : bModified = sal_True;
1252 : : }
1253 [ # # ][ # # ]: 0 : delete pItem;
1254 : : }
1255 : : }
1256 : :
1257 : : //aMtrFldXSize
1258 [ # # ]: 0 : String aStr = aMtrFldXSize.GetText();
1259 : : {
1260 : 0 : XFillBmpSizeXItem* pItem = NULL;
1261 : 0 : TriState eScaleState = aTsbScale.GetState();
1262 : :
1263 [ # # # # ]: 0 : if( aMtrFldXSize.IsEnabled() &&
[ # # ][ # # ]
[ # # ]
1264 : 0 : aStr.Len() > 0 &&
1265 [ # # ]: 0 : aStr != aMtrFldXSize.GetSavedValue() )
1266 : : {
1267 [ # # ]: 0 : if( eScaleState == STATE_NOCHECK )
1268 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeXItem( GetCoreValue( aMtrFldXSize, ePoolUnit ) );
[ # # ]
1269 : : else
1270 : : {
1271 : : // Percentage values are set negatively, so that
1272 : : // they aren't scaled; this is considered in the item.
1273 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(aMtrFldXSize.GetValue()) ) );
[ # # ]
1274 : : }
1275 : : }
1276 [ # # ][ # # : 0 : else if( aTsbOriginal.IsEnabled() &&
# # # # ]
[ # # ]
1277 : 0 : aTsbOriginal.GetState() == STATE_CHECK &&
1278 : 0 : aMtrFldXSize.GetSavedValue().Len() > 0 )
1279 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeXItem( 0 );
1280 : :
1281 [ # # ]: 0 : if( pItem )
1282 : : {
1283 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZEX );
1284 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpSizeXItem*)pOld == *pItem ) )
[ # # ][ # # ]
1285 : : {
1286 [ # # ]: 0 : rAttrs.Put( *pItem );
1287 : 0 : bModified = sal_True;
1288 : : }
1289 [ # # ][ # # ]: 0 : delete pItem;
1290 : : }
1291 : : }
1292 : :
1293 : : //aMtrFldYSize
1294 [ # # ][ # # ]: 0 : aStr = aMtrFldYSize.GetText();
[ # # ]
1295 : : {
1296 : 0 : XFillBmpSizeYItem* pItem = NULL;
1297 : 0 : TriState eScaleState = aTsbScale.GetState();
1298 : :
1299 [ # # # # ]: 0 : if( aMtrFldYSize.IsEnabled() &&
[ # # ][ # # ]
[ # # ]
1300 : 0 : aStr.Len() > 0 &&
1301 [ # # ]: 0 : aStr != aMtrFldYSize.GetSavedValue() )
1302 : : {
1303 [ # # ]: 0 : if( eScaleState == STATE_NOCHECK )
1304 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeYItem( GetCoreValue( aMtrFldYSize, ePoolUnit ) );
[ # # ]
1305 : : else
1306 : : {
1307 : : // Percentage values are set negatively, so that
1308 : : // they aren't scaled by the MetricItem;
1309 : : // this is considered in the item.
1310 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(aMtrFldYSize.GetValue()) ) );
[ # # ]
1311 : : }
1312 : : }
1313 [ # # ][ # # : 0 : else if( aTsbOriginal.IsEnabled() &&
# # # # ]
[ # # ]
1314 : 0 : aTsbOriginal.GetState() == STATE_CHECK &&
1315 : 0 : aMtrFldYSize.GetSavedValue().Len() > 0 )
1316 [ # # ][ # # ]: 0 : pItem = new XFillBmpSizeYItem( 0 );
1317 : :
1318 [ # # ]: 0 : if( pItem )
1319 : : {
1320 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_SIZEY );
1321 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpSizeYItem*)pOld == *pItem ) )
[ # # ][ # # ]
1322 : : {
1323 [ # # ]: 0 : rAttrs.Put( *pItem );
1324 : 0 : bModified = sal_True;
1325 : : }
1326 [ # # ][ # # ]: 0 : delete pItem;
1327 : : }
1328 : : }
1329 : :
1330 : : //aRbtRow
1331 : : //aRbtColumn
1332 : : //aMtrFldOffset
1333 [ # # ][ # # ]: 0 : if( aMtrFldOffset.IsEnabled() )
1334 : : {
1335 [ # # ]: 0 : String aMtrString = aMtrFldOffset.GetText();
1336 [ # # ][ # # : 0 : if( ( aMtrString.Len() > 0 &&
# # # # ]
[ # # ]
1337 [ # # ]: 0 : aMtrString != aMtrFldOffset.GetSavedValue() ) ||
1338 : 0 : aRbtRow.GetSavedValue() != aRbtRow.IsChecked() ||
1339 : 0 : aRbtColumn.GetSavedValue() != aRbtColumn.IsChecked() )
1340 : : {
1341 [ # # ]: 0 : if( aRbtRow.IsChecked() )
1342 : : {
1343 [ # # ][ # # ]: 0 : XFillBmpTileOffsetXItem aFillBmpTileOffsetXItem( (sal_uInt16) aMtrFldOffset.GetValue() );
1344 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILEOFFSETX );
1345 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpTileOffsetXItem*)pOld == aFillBmpTileOffsetXItem ) )
[ # # ][ # # ]
1346 : : {
1347 [ # # ]: 0 : rAttrs.Put( aFillBmpTileOffsetXItem );
1348 [ # # ][ # # ]: 0 : rAttrs.Put( XFillBmpTileOffsetYItem( 0 ) );
[ # # ]
1349 : 0 : bModified = sal_True;
1350 [ # # ]: 0 : }
1351 : : }
1352 [ # # ]: 0 : else if( aRbtColumn.IsChecked() )
1353 : : {
1354 [ # # ][ # # ]: 0 : XFillBmpTileOffsetYItem aFillBmpTileOffsetYItem( (sal_uInt16) aMtrFldOffset.GetValue() );
1355 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_TILEOFFSETY );
1356 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpTileOffsetYItem*)pOld == aFillBmpTileOffsetYItem ) )
[ # # ][ # # ]
1357 : : {
1358 [ # # ]: 0 : rAttrs.Put( aFillBmpTileOffsetYItem );
1359 [ # # ][ # # ]: 0 : rAttrs.Put( XFillBmpTileOffsetXItem( 0 ) );
[ # # ]
1360 : 0 : bModified = sal_True;
1361 [ # # ]: 0 : }
1362 : : }
1363 [ # # ]: 0 : }
1364 : : }
1365 : :
1366 : : //aCtlPosition
1367 [ # # ][ # # ]: 0 : if( aCtlPosition.IsEnabled() )
1368 : : {
1369 : 0 : sal_Bool bPut = sal_False;
1370 [ # # ]: 0 : RECT_POINT _eRP = aCtlPosition.GetActualRP();
1371 : :
1372 [ # # ][ # # ]: 0 : if( SFX_ITEM_DONTCARE == rOutAttrs.GetItemState( XATTR_FILLBMP_POS ) )
1373 : 0 : bPut = sal_True;
1374 : : else
1375 : : {
1376 [ # # ]: 0 : RECT_POINT eValue = ( ( const XFillBmpPosItem& ) rOutAttrs.Get( XATTR_FILLBMP_POS ) ).GetValue();
1377 [ # # ]: 0 : if( eValue != _eRP )
1378 : 0 : bPut = sal_True;
1379 : : }
1380 [ # # ]: 0 : if( bPut )
1381 : : {
1382 [ # # ]: 0 : XFillBmpPosItem aFillBmpPosItem( _eRP );
1383 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POS );
1384 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpPosItem*)pOld == aFillBmpPosItem ) )
[ # # ][ # # ]
1385 : : {
1386 [ # # ]: 0 : rAttrs.Put( aFillBmpPosItem );
1387 : 0 : bModified = sal_True;
1388 [ # # ]: 0 : }
1389 : : }
1390 : : }
1391 : :
1392 : : //aMtrFldXOffset
1393 [ # # ][ # # ]: 0 : if( aMtrFldXOffset.IsEnabled() )
1394 : : {
1395 [ # # ]: 0 : String sMtrXOffset = aMtrFldXOffset.GetText();
1396 [ # # ][ # # ]: 0 : if( sMtrXOffset.Len() > 0 &&
[ # # ]
1397 [ # # ]: 0 : sMtrXOffset != aMtrFldXOffset.GetSavedValue() )
1398 : : {
1399 [ # # ][ # # ]: 0 : XFillBmpPosOffsetXItem aFillBmpPosOffsetXItem( (sal_uInt16) aMtrFldXOffset.GetValue() );
1400 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POSOFFSETX );
1401 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpPosOffsetXItem*)pOld == aFillBmpPosOffsetXItem ) )
[ # # ][ # # ]
1402 : : {
1403 [ # # ]: 0 : rAttrs.Put( aFillBmpPosOffsetXItem );
1404 : 0 : bModified = sal_True;
1405 [ # # ]: 0 : }
1406 [ # # ]: 0 : }
1407 : : }
1408 : :
1409 : : //aMtrFldYOffset
1410 [ # # ][ # # ]: 0 : if( aMtrFldYOffset.IsEnabled() )
1411 : : {
1412 [ # # ]: 0 : String sMtrYOffset = aMtrFldYOffset.GetText();
1413 [ # # ][ # # ]: 0 : if( sMtrYOffset.Len() > 0 &&
[ # # ]
1414 [ # # ]: 0 : sMtrYOffset != aMtrFldYOffset.GetSavedValue() )
1415 : : {
1416 [ # # ][ # # ]: 0 : XFillBmpPosOffsetYItem aFillBmpPosOffsetYItem( (sal_uInt16) aMtrFldYOffset.GetValue() );
1417 [ # # ]: 0 : pOld = GetOldItem( rAttrs, XATTR_FILLBMP_POSOFFSETY );
1418 [ # # ][ # # ]: 0 : if ( !pOld || !( *(const XFillBmpPosOffsetYItem*)pOld == aFillBmpPosOffsetYItem ) )
[ # # ][ # # ]
1419 : : {
1420 [ # # ]: 0 : rAttrs.Put( aFillBmpPosOffsetYItem );
1421 : 0 : bModified = sal_True;
1422 [ # # ]: 0 : }
1423 [ # # ]: 0 : }
1424 : : }
1425 [ # # ][ # # ]: 0 : rAttrs.Put (SfxUInt16Item(SID_PAGE_TYPE,nPageType));
[ # # ]
1426 [ # # ][ # # ]: 0 : rAttrs.Put (SfxUInt16Item(SID_TABPAGE_POS,nPos));
[ # # ][ # # ]
1427 : : }
1428 : :
1429 : 0 : return( bModified );
1430 : : }
1431 : :
1432 : : // -----------------------------------------------------------------------
1433 : :
1434 : 0 : void SvxAreaTabPage::Reset( const SfxItemSet& rAttrs )
1435 : : {
1436 : : XFillStyle eXFS;
1437 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLSTYLE ) != SFX_ITEM_DONTCARE )
1438 : : {
1439 : : eXFS = (XFillStyle) ( ( ( const XFillStyleItem& ) rAttrs.
1440 : 0 : Get( GetWhich( XATTR_FILLSTYLE ) ) ).GetValue() );
1441 : 0 : aTypeLB.SelectEntryPos( sal::static_int_cast< sal_uInt16 >( eXFS ) );
1442 [ # # # # : 0 : switch( eXFS )
# # ]
1443 : : {
1444 : : case XFILL_NONE:
1445 : 0 : ClickInvisibleHdl_Impl();
1446 : 0 : break;
1447 : :
1448 : : case XFILL_SOLID:
1449 [ # # ]: 0 : if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLCOLOR ) )
1450 : : {
1451 : : XFillColorItem aColorItem( ( const XFillColorItem& )
1452 [ # # ][ # # ]: 0 : rAttrs.Get( XATTR_FILLCOLOR ) );
1453 : :
1454 [ # # ][ # # ]: 0 : aLbColor.SelectEntry( aColorItem.GetColorValue() );
1455 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() );
[ # # ]
1456 : : }
1457 : 0 : ClickColorHdl_Impl();
1458 : :
1459 : 0 : break;
1460 : :
1461 : : case XFILL_GRADIENT:
1462 [ # # ]: 0 : if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLGRADIENT ) )
1463 : : {
1464 : : XFillGradientItem aGradientItem( ( ( const XFillGradientItem& )
1465 [ # # ][ # # ]: 0 : rAttrs.Get( XATTR_FILLGRADIENT ) ) );
1466 [ # # ]: 0 : String aString( aGradientItem.GetName() );
1467 [ # # ]: 0 : XGradient aGradient( aGradientItem.GetGradientValue() );
1468 : :
1469 [ # # ][ # # ]: 0 : aLbGradient.SelectEntryByList( pGradientList, aString, aGradient );
[ # # ]
1470 : : }
1471 : 0 : ClickGradientHdl_Impl();
1472 : 0 : break;
1473 : :
1474 : : case XFILL_HATCH:
1475 [ # # ]: 0 : if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLHATCH ) )
1476 : : {
1477 : : aLbHatching.SelectEntry( ( ( const XFillHatchItem& )
1478 [ # # ]: 0 : rAttrs.Get( XATTR_FILLHATCH ) ).GetName() );
1479 : : }
1480 : 0 : ClickHatchingHdl_Impl();
1481 : :
1482 [ # # ]: 0 : if ( SFX_ITEM_DONTCARE != rAttrs.GetItemState ( XATTR_FILLBACKGROUND ) )
1483 : : {
1484 : 0 : aCbxHatchBckgrd.Check ( ( ( const XFillBackgroundItem& ) rAttrs.Get ( XATTR_FILLBACKGROUND ) ).GetValue() );
1485 : : }
1486 : 0 : ToggleHatchBckgrdColorHdl_Impl( this );
1487 [ # # ]: 0 : if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLCOLOR ) )
1488 : : {
1489 : : XFillColorItem aColorItem( ( const XFillColorItem& )
1490 [ # # ][ # # ]: 0 : rAttrs.Get( XATTR_FILLCOLOR ) );
1491 : :
1492 [ # # ][ # # ]: 0 : aLbColor.SelectEntry( aColorItem.GetColorValue() );
1493 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() );
[ # # ]
1494 : : }
1495 : 0 : break;
1496 : :
1497 : : case XFILL_BITMAP:
1498 : : {
1499 [ # # ]: 0 : if( SFX_ITEM_DONTCARE != rAttrs.GetItemState( XATTR_FILLBITMAP ) )
1500 : : {
1501 : : XFillBitmapItem aBitmapItem( ( const XFillBitmapItem& )
1502 [ # # ][ # # ]: 0 : rAttrs.Get( XATTR_FILLBITMAP ) );
1503 : :
1504 [ # # ]: 0 : String aString( aBitmapItem.GetName() );
1505 [ # # ][ # # ]: 0 : aLbBitmap.SelectEntry( aString );
[ # # ]
1506 : : }
1507 : 0 : ClickBitmapHdl_Impl();
1508 : : }
1509 : 0 : break;
1510 : :
1511 : : default:
1512 : 0 : break;
1513 : : }
1514 : : }
1515 : : else
1516 : : {
1517 : : // make all LBs not accessible
1518 : 0 : aLbColor.Hide();
1519 : 0 : aLbGradient.Hide();
1520 : 0 : aLbHatching.Hide();
1521 : 0 : aLbBitmap.Hide();
1522 : 0 : aCtlBitmapPreview.Hide();
1523 : 0 : aLbColor.Disable();
1524 : 0 : aLbColor.Show();
1525 : :
1526 : : // so that Reset() also works correctly with Back
1527 : 0 : aTypeLB.SetNoSelection();
1528 : : }
1529 : :
1530 : : // step size
1531 [ # # # # ]: 0 : if( ( rAttrs.GetItemState( XATTR_GRADIENTSTEPCOUNT ) != SFX_ITEM_DONTCARE ) ||
[ # # ]
1532 : 0 : ( rAttrs.GetItemState( XATTR_FILLSTYLE ) != SFX_ITEM_DONTCARE ) )
1533 : : {
1534 : 0 : aTsbStepCount.EnableTriState( sal_False );
1535 : 0 : sal_uInt16 nValue = ( ( const XGradientStepCountItem& ) rAttrs.Get( XATTR_GRADIENTSTEPCOUNT ) ).GetValue();
1536 [ # # ]: 0 : if( nValue == 0 )
1537 : : {
1538 : 0 : aTsbStepCount.SetState( STATE_CHECK );
1539 [ # # ]: 0 : aNumFldStepCount.SetText( String() );
1540 : : }
1541 : : else
1542 : : {
1543 : 0 : aTsbStepCount.SetState( STATE_NOCHECK );
1544 : 0 : aNumFldStepCount.SetValue( nValue );
1545 : : }
1546 : 0 : ModifyStepCountHdl_Impl( &aTsbStepCount );
1547 : : }
1548 : : else
1549 : : {
1550 : 0 : aTsbStepCount.SetState( STATE_DONTKNOW );
1551 [ # # ]: 0 : aNumFldStepCount.SetText( String() );
1552 : : }
1553 : :
1554 : : // attributes for the bitmap filling
1555 : :
1556 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_TILE ) != SFX_ITEM_DONTCARE )
1557 : : {
1558 : 0 : aTsbTile.EnableTriState( sal_False );
1559 : :
1560 [ # # ]: 0 : if( ( ( const XFillBmpTileItem& ) rAttrs.Get( XATTR_FILLBMP_TILE ) ).GetValue() )
1561 : 0 : aTsbTile.SetState( STATE_CHECK );
1562 : : else
1563 : 0 : aTsbTile.SetState( STATE_NOCHECK );
1564 : : }
1565 : : else
1566 : 0 : aTsbTile.SetState( STATE_DONTKNOW );
1567 : :
1568 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_STRETCH ) != SFX_ITEM_DONTCARE )
1569 : : {
1570 : 0 : aTsbStretch.EnableTriState( sal_False );
1571 : :
1572 [ # # ]: 0 : if( ( ( const XFillBmpStretchItem& ) rAttrs.Get( XATTR_FILLBMP_STRETCH ) ).GetValue() )
1573 : 0 : aTsbStretch.SetState( STATE_CHECK );
1574 : : else
1575 : 0 : aTsbStretch.SetState( STATE_NOCHECK );
1576 : : }
1577 : : else
1578 : 0 : aTsbStretch.SetState( STATE_DONTKNOW );
1579 : :
1580 : :
1581 : : //aTsbScale
1582 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_SIZELOG ) != SFX_ITEM_DONTCARE )
1583 : : {
1584 : 0 : aTsbScale.EnableTriState( sal_False );
1585 : :
1586 [ # # ]: 0 : if( ( ( const XFillBmpSizeLogItem& ) rAttrs.Get( XATTR_FILLBMP_SIZELOG ) ).GetValue() )
1587 : 0 : aTsbScale.SetState( STATE_NOCHECK );
1588 : : else
1589 : 0 : aTsbScale.SetState( STATE_CHECK );
1590 : :
1591 : 0 : ClickScaleHdl_Impl( NULL );
1592 : : }
1593 : : else
1594 : 0 : aTsbScale.SetState( STATE_DONTKNOW );
1595 : :
1596 : :
1597 : : // determine status for the original size
1598 : 0 : TriState eOriginal = STATE_NOCHECK;
1599 : :
1600 : : //aMtrFldXSize
1601 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_SIZEX ) != SFX_ITEM_DONTCARE )
1602 : : {
1603 : 0 : sal_Int32 nValue = ( ( const XFillBmpSizeXItem& ) rAttrs.Get( XATTR_FILLBMP_SIZEX ) ).GetValue();
1604 [ # # ]: 0 : if( aTsbScale.GetState() == STATE_CHECK )
1605 : : {
1606 : : // If there's a percentage value in the item,
1607 : : // it is negative because of the MetricItems.
1608 : 0 : aMtrFldXSize.SetValue( labs( nValue ) );
1609 : : }
1610 : : else
1611 : 0 : SetMetricValue( aMtrFldXSize, nValue, ePoolUnit );
1612 : 0 : aMtrFldXSize.SaveValue();
1613 : :
1614 [ # # ]: 0 : if( nValue == 0 )
1615 : : {
1616 : 0 : eOriginal = STATE_CHECK;
1617 : : // value would be too small otherwise when turning off the original size
1618 : : // (performance problem)
1619 : 0 : aMtrFldXSize.SetValue( 100 );
1620 : : }
1621 : : }
1622 : : else
1623 : : {
1624 [ # # ]: 0 : aMtrFldXSize.SetText( String() );
1625 : 0 : aMtrFldXSize.SaveValue();
1626 : : }
1627 : :
1628 : : //aMtrFldYSize
1629 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_SIZEY ) != SFX_ITEM_DONTCARE )
1630 : : {
1631 : 0 : sal_Int32 nValue = ( ( const XFillBmpSizeYItem& ) rAttrs.Get( XATTR_FILLBMP_SIZEY ) ).GetValue();
1632 [ # # ]: 0 : if( aTsbScale.GetState() == STATE_CHECK )
1633 : : {
1634 : : // If there's a percentage value in the item,
1635 : : // it is negative because of the MetricItems.
1636 : 0 : aMtrFldYSize.SetValue( labs( nValue ) );
1637 : : }
1638 : : else
1639 : 0 : SetMetricValue( aMtrFldYSize, nValue, ePoolUnit );
1640 : 0 : aMtrFldYSize.SaveValue();
1641 : :
1642 [ # # ]: 0 : if( nValue == 0 )
1643 : 0 : aMtrFldYSize.SetValue( 100 ); //s.o.
1644 : : else
1645 : 0 : eOriginal = STATE_NOCHECK;
1646 : : }
1647 : : else
1648 : : {
1649 [ # # ]: 0 : aMtrFldYSize.SetText( String() );
1650 : 0 : aMtrFldYSize.SaveValue();
1651 : 0 : eOriginal = STATE_NOCHECK;
1652 : : }
1653 : :
1654 : : // aTsbOriginal
1655 : 0 : aTsbOriginal.SetState( eOriginal );
1656 : :
1657 : : // #93372# Setting proper state after changing button
1658 : 0 : ModifyTileHdl_Impl( NULL );
1659 : :
1660 : : //aRbtRow
1661 : : //aRbtColumn
1662 : : //aMtrFldOffset
1663 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_TILEOFFSETX ) != SFX_ITEM_DONTCARE )
1664 : : {
1665 : 0 : sal_uInt16 nValue = ( ( const XFillBmpTileOffsetXItem& ) rAttrs.Get( XATTR_FILLBMP_TILEOFFSETX ) ).GetValue();
1666 [ # # ]: 0 : if( nValue > 0 )
1667 : : {
1668 : 0 : aMtrFldOffset.SetValue( nValue );
1669 : 0 : aRbtRow.Check();
1670 : : }
1671 [ # # ]: 0 : else if( rAttrs.GetItemState( XATTR_FILLBMP_TILEOFFSETY ) != SFX_ITEM_DONTCARE )
1672 : : {
1673 : 0 : nValue = ( ( const XFillBmpTileOffsetYItem& ) rAttrs.Get( XATTR_FILLBMP_TILEOFFSETY ) ).GetValue();
1674 [ # # ]: 0 : if( nValue > 0 )
1675 : : {
1676 : 0 : aMtrFldOffset.SetValue( nValue );
1677 : 0 : aRbtColumn.Check();
1678 : : }
1679 : : }
1680 : : else
1681 : 0 : aMtrFldOffset.SetValue( 0 );
1682 : : }
1683 : : else
1684 [ # # ]: 0 : aMtrFldOffset.SetText( String() );
1685 : :
1686 : :
1687 : : //aCtlPosition
1688 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_POS ) != SFX_ITEM_DONTCARE )
1689 : : {
1690 : 0 : RECT_POINT eValue = ( ( const XFillBmpPosItem& ) rAttrs.Get( XATTR_FILLBMP_POS ) ).GetValue();
1691 : 0 : aCtlPosition.SetActualRP( eValue );
1692 : : }
1693 : : else
1694 : 0 : aCtlPosition.Reset();
1695 : :
1696 : : //aMtrFldXOffset
1697 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_POSOFFSETX ) != SFX_ITEM_DONTCARE )
1698 : : {
1699 : 0 : sal_Int32 nValue = ( ( const XFillBmpPosOffsetXItem& ) rAttrs.Get( XATTR_FILLBMP_POSOFFSETX ) ).GetValue();
1700 : 0 : aMtrFldXOffset.SetValue( nValue );
1701 : : }
1702 : : else
1703 [ # # ]: 0 : aMtrFldXOffset.SetText( String() );
1704 : :
1705 : : //aMtrFldYOffset
1706 [ # # ]: 0 : if( rAttrs.GetItemState( XATTR_FILLBMP_POSOFFSETY ) != SFX_ITEM_DONTCARE )
1707 : : {
1708 : 0 : sal_Int32 nValue = ( ( const XFillBmpPosOffsetYItem& ) rAttrs.Get( XATTR_FILLBMP_POSOFFSETY ) ).GetValue();
1709 : 0 : aMtrFldYOffset.SetValue( nValue );
1710 : : }
1711 : : else
1712 [ # # ]: 0 : aMtrFldYOffset.SetText( String() );
1713 : :
1714 : : // not earlier so that tile and stretch are considered
1715 [ # # ]: 0 : if( aTypeLB.GetSelectEntryPos() == XFILL_BITMAP )
1716 : 0 : ClickBitmapHdl_Impl();
1717 : :
1718 : 0 : aTypeLB.SaveValue();
1719 : 0 : aLbColor.SaveValue();
1720 : 0 : aLbGradient.SaveValue();
1721 : 0 : aLbHatching.SaveValue();
1722 : 0 : aLbHatchBckgrdColor.SaveValue();
1723 : 0 : aLbBitmap.SaveValue();
1724 : 0 : aTsbStepCount.SaveValue();
1725 : 0 : aNumFldStepCount.SaveValue();
1726 : 0 : aTsbTile.SaveValue();
1727 : 0 : aTsbStretch.SaveValue();
1728 : 0 : aTsbScale.SaveValue();
1729 : 0 : aRbtRow.SaveValue();
1730 : 0 : aRbtColumn.SaveValue();
1731 : 0 : aMtrFldOffset.SaveValue();
1732 : 0 : aMtrFldXOffset.SaveValue();
1733 : 0 : aMtrFldYOffset.SaveValue();
1734 : 0 : }
1735 : :
1736 : : // -----------------------------------------------------------------------
1737 : :
1738 : 0 : SfxTabPage* SvxAreaTabPage::Create( Window* pWindow,
1739 : : const SfxItemSet& rAttrs )
1740 : : {
1741 [ # # ]: 0 : return( new SvxAreaTabPage( pWindow, rAttrs ) );
1742 : : }
1743 : :
1744 : : //------------------------------------------------------------------------
1745 : :
1746 : 0 : sal_uInt16* SvxAreaTabPage::GetRanges()
1747 : : {
1748 : 0 : return( pAreaRanges );
1749 : : }
1750 : :
1751 : : //------------------------------------------------------------------------
1752 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, SelectDialogTypeHdl_Impl)
1753 : : {
1754 [ # # # # : 0 : switch( (XFillStyle)aTypeLB.GetSelectEntryPos() )
# # ]
1755 : : {
1756 : 0 : case XFILL_NONE: ClickInvisibleHdl_Impl(); break;
1757 : 0 : case XFILL_SOLID: ClickColorHdl_Impl(); break;
1758 : 0 : case XFILL_GRADIENT: ClickGradientHdl_Impl(); break;
1759 : 0 : case XFILL_HATCH: ClickHatchingHdl_Impl(); break;
1760 : 0 : case XFILL_BITMAP: ClickBitmapHdl_Impl(); break;
1761 : : }
1762 : :
1763 : 0 : return 0;
1764 : : }
1765 : :
1766 : 0 : void SvxAreaTabPage::ClickInvisibleHdl_Impl()
1767 : : {
1768 : 0 : aTsbTile.Hide();
1769 : 0 : aTsbStretch.Hide();
1770 : 0 : aTsbScale.Hide();
1771 : 0 : aTsbOriginal.Hide();
1772 : 0 : aFtXSize.Hide();
1773 : 0 : aMtrFldXSize.Hide();
1774 : 0 : aFtYSize.Hide();
1775 : 0 : aMtrFldYSize.Hide();
1776 : 0 : aFlSize.Hide();
1777 : 0 : aRbtRow.Hide();
1778 : 0 : aRbtColumn.Hide();
1779 : 0 : aMtrFldOffset.Hide();
1780 : 0 : aFlOffset.Hide();
1781 : 0 : aCtlPosition.Hide();
1782 : 0 : aFtXOffset.Hide();
1783 : 0 : aMtrFldXOffset.Hide();
1784 : 0 : aFtYOffset.Hide();
1785 : 0 : aMtrFldYOffset.Hide();
1786 : 0 : aFlPosition.Hide();
1787 : :
1788 : 0 : aLbColor.Hide();
1789 : 0 : aLbGradient.Hide();
1790 : 0 : aLbHatching.Hide();
1791 : 0 : aLbBitmap.Hide();
1792 : 0 : aCtlXRectPreview.Hide();
1793 : 0 : aCtlBitmapPreview.Hide();
1794 : :
1795 : 0 : aFlStepCount.Hide();
1796 : 0 : aTsbStepCount.Hide();
1797 : 0 : aNumFldStepCount.Hide();
1798 : :
1799 : : // Controls for Hatch-Background
1800 : 0 : aCbxHatchBckgrd.Hide();
1801 : 0 : aLbHatchBckgrdColor.Hide();
1802 : :
1803 [ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
1804 : 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
1805 : 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
1806 : :
1807 : 0 : aCtlXRectPreview.Invalidate();
1808 : 0 : aCtlBitmapPreview.Invalidate();
1809 : 0 : }
1810 : :
1811 : : //------------------------------------------------------------------------
1812 : :
1813 : 0 : void SvxAreaTabPage::ClickColorHdl_Impl()
1814 : : {
1815 [ # # ]: 0 : aTsbTile.Hide();
1816 [ # # ]: 0 : aTsbStretch.Hide();
1817 [ # # ]: 0 : aTsbScale.Hide();
1818 [ # # ]: 0 : aTsbOriginal.Hide();
1819 [ # # ]: 0 : aFtXSize.Hide();
1820 [ # # ]: 0 : aMtrFldXSize.Hide();
1821 [ # # ]: 0 : aFtYSize.Hide();
1822 [ # # ]: 0 : aMtrFldYSize.Hide();
1823 [ # # ]: 0 : aFlSize.Hide();
1824 [ # # ]: 0 : aRbtRow.Hide();
1825 [ # # ]: 0 : aRbtColumn.Hide();
1826 [ # # ]: 0 : aMtrFldOffset.Hide();
1827 [ # # ]: 0 : aFlOffset.Hide();
1828 [ # # ]: 0 : aCtlPosition.Hide();
1829 [ # # ]: 0 : aFtXOffset.Hide();
1830 [ # # ]: 0 : aMtrFldXOffset.Hide();
1831 [ # # ]: 0 : aFtYOffset.Hide();
1832 [ # # ]: 0 : aMtrFldYOffset.Hide();
1833 [ # # ]: 0 : aFlPosition.Hide();
1834 : :
1835 [ # # ]: 0 : aLbColor.Enable();
1836 [ # # ]: 0 : aLbColor.Show();
1837 [ # # ]: 0 : aLbGradient.Hide();
1838 [ # # ]: 0 : aLbHatching.Hide();
1839 [ # # ]: 0 : aLbBitmap.Hide();
1840 [ # # ]: 0 : aCtlXRectPreview.Enable();
1841 [ # # ]: 0 : aCtlXRectPreview.Show();
1842 [ # # ]: 0 : aCtlBitmapPreview.Hide();
1843 : :
1844 [ # # ]: 0 : aFlStepCount.Hide();
1845 [ # # ]: 0 : aTsbStepCount.Hide();
1846 [ # # ]: 0 : aNumFldStepCount.Hide();
1847 : :
1848 : : // Controls for Hatch-Background
1849 [ # # ]: 0 : aCbxHatchBckgrd.Hide();
1850 [ # # ]: 0 : aLbHatchBckgrdColor.Hide();
1851 : :
1852 : : // set table text
1853 [ # # ][ # # ]: 0 : String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
[ # # ]
1854 [ # # ][ # # ]: 0 : INetURLObject aURL( pColorList->GetPath() );
1855 : :
1856 [ # # ][ # # ]: 0 : aURL.Append( pColorList->GetName() );
1857 : : DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
1858 : :
1859 [ # # ][ # # ]: 0 : if( aURL.getBase().getLength() > 18 )
1860 : : {
1861 [ # # ][ # # ]: 0 : aString += String(aURL.getBase()).Copy( 0, 15 );
[ # # ][ # # ]
[ # # ][ # # ]
1862 [ # # ]: 0 : aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) );
1863 : : }
1864 : : else
1865 [ # # ][ # # ]: 0 : aString += String(aURL.getBase());
[ # # ][ # # ]
1866 : :
1867 [ # # ][ # # ]: 0 : ModifyColorHdl_Impl( this );
[ # # ]
1868 : 0 : }
1869 : :
1870 : : //------------------------------------------------------------------------
1871 : :
1872 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyColorHdl_Impl)
1873 : : {
1874 : 0 : const SfxPoolItem* pPoolItem = NULL;
1875 [ # # ]: 0 : sal_uInt16 _nPos = aLbColor.GetSelectEntryPos();
1876 [ # # ]: 0 : aLbHatchBckgrdColor.SelectEntryPos( _nPos );
1877 [ # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND )
1878 : : {
1879 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_SOLID ) );
[ # # ]
1880 : : rXFSet.Put( XFillColorItem( String(),
1881 [ # # ][ # # ]: 0 : aLbColor.GetSelectEntryColor() ) );
[ # # ][ # # ]
[ # # ][ # # ]
1882 : : }
1883 : : // NEW
1884 [ # # ][ # # ]: 0 : else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True, &pPoolItem ) )
[ # # ]
1885 : : {
1886 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_SOLID ) );
[ # # ]
1887 [ # # ]: 0 : Color aColor( ( ( const XFillColorItem* ) pPoolItem )->GetColorValue() );
1888 [ # # ][ # # ]: 0 : rXFSet.Put( XFillColorItem( String(), aColor ) );
[ # # ][ # # ]
[ # # ]
1889 : : }
1890 : : else
1891 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
[ # # ]
1892 : :
1893 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
1894 [ # # ]: 0 : aCtlXRectPreview.Invalidate();
1895 : :
1896 : 0 : return( 0L );
1897 : : }
1898 : : //------------------------------------------------------------------------
1899 : :
1900 : 0 : void SvxAreaTabPage::ClickGradientHdl_Impl()
1901 : : {
1902 [ # # ]: 0 : aTsbTile.Hide();
1903 [ # # ]: 0 : aTsbStretch.Hide();
1904 [ # # ]: 0 : aTsbScale.Hide();
1905 [ # # ]: 0 : aTsbOriginal.Hide();
1906 [ # # ]: 0 : aFtXSize.Hide();
1907 [ # # ]: 0 : aMtrFldXSize.Hide();
1908 [ # # ]: 0 : aFtYSize.Hide();
1909 [ # # ]: 0 : aMtrFldYSize.Hide();
1910 [ # # ]: 0 : aFlSize.Hide();
1911 [ # # ]: 0 : aRbtRow.Hide();
1912 [ # # ]: 0 : aRbtColumn.Hide();
1913 [ # # ]: 0 : aMtrFldOffset.Hide();
1914 [ # # ]: 0 : aFlOffset.Hide();
1915 [ # # ]: 0 : aCtlPosition.Hide();
1916 [ # # ]: 0 : aFtXOffset.Hide();
1917 [ # # ]: 0 : aMtrFldXOffset.Hide();
1918 [ # # ]: 0 : aFtYOffset.Hide();
1919 [ # # ]: 0 : aMtrFldYOffset.Hide();
1920 [ # # ]: 0 : aFlPosition.Hide();
1921 : :
1922 [ # # ]: 0 : aLbColor.Hide();
1923 [ # # ]: 0 : aLbGradient.Enable();
1924 [ # # ]: 0 : aLbGradient.Show();
1925 [ # # ]: 0 : aLbHatching.Hide();
1926 [ # # ]: 0 : aLbBitmap.Hide();
1927 [ # # ]: 0 : aCtlXRectPreview.Enable();
1928 [ # # ]: 0 : aCtlXRectPreview.Show();
1929 [ # # ]: 0 : aCtlBitmapPreview.Hide();
1930 : :
1931 [ # # ]: 0 : aFlStepCount.Enable();
1932 [ # # ]: 0 : aFlStepCount.Show();
1933 [ # # ]: 0 : aTsbStepCount.Enable();
1934 [ # # ]: 0 : aTsbStepCount.Show();
1935 [ # # ]: 0 : aNumFldStepCount.Show();
1936 : :
1937 : : // Controls for Hatch-Background
1938 [ # # ]: 0 : aCbxHatchBckgrd.Hide();
1939 [ # # ]: 0 : aLbHatchBckgrdColor.Hide();
1940 : :
1941 : : // set table text
1942 [ # # ][ # # ]: 0 : String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
[ # # ]
1943 [ # # ][ # # ]: 0 : INetURLObject aURL( pGradientList->GetPath() );
1944 : :
1945 [ # # ][ # # ]: 0 : aURL.Append( pGradientList->GetName() );
1946 : : DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
1947 : :
1948 [ # # ][ # # ]: 0 : if( aURL.getBase().getLength() > 18 )
1949 : : {
1950 [ # # ][ # # ]: 0 : aString += String(aURL.getBase()).Copy( 0, 15 );
[ # # ][ # # ]
[ # # ][ # # ]
1951 [ # # ]: 0 : aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) );
1952 : : }
1953 : : else
1954 [ # # ][ # # ]: 0 : aString += String(aURL.getBase());
[ # # ][ # # ]
1955 : :
1956 [ # # ]: 0 : ModifyGradientHdl_Impl( this );
1957 [ # # ][ # # ]: 0 : ModifyStepCountHdl_Impl( &aTsbStepCount );
[ # # ]
1958 : 0 : }
1959 : :
1960 : : //------------------------------------------------------------------------
1961 : :
1962 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyGradientHdl_Impl)
1963 : : {
1964 : 0 : const SfxPoolItem* pPoolItem = NULL;
1965 [ # # ]: 0 : sal_uInt16 _nPos = aLbGradient.GetSelectEntryPos();
1966 [ # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND )
1967 : : {
1968 : : // fill ItemSet and pass it on to aCtlXRectPreview
1969 [ # # ]: 0 : XGradientEntry* pEntry = pGradientList->GetGradient( _nPos );
1970 : :
1971 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_GRADIENT ) );
[ # # ]
1972 : : rXFSet.Put( XFillGradientItem( String(),
1973 [ # # ][ # # ]: 0 : pEntry->GetGradient() ) );
[ # # ][ # # ]
[ # # ]
1974 : : }
1975 [ # # ][ # # ]: 0 : else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLGRADIENT ), sal_True, &pPoolItem ) )
[ # # ]
1976 : : {
1977 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_GRADIENT ) );
[ # # ]
1978 [ # # ][ # # ]: 0 : rXFSet.Put( XFillGradientItem( String(), ( ( const XFillGradientItem* ) pPoolItem )->GetGradientValue() ) );
[ # # ][ # # ]
[ # # ][ # # ]
1979 : : }
1980 : : else
1981 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
[ # # ]
1982 : :
1983 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
1984 [ # # ]: 0 : aCtlXRectPreview.Invalidate();
1985 : :
1986 : 0 : return( 0L );
1987 : : }
1988 : :
1989 : : //------------------------------------------------------------------------
1990 : :
1991 : 0 : void SvxAreaTabPage::ClickHatchingHdl_Impl()
1992 : : {
1993 [ # # ]: 0 : aLbColor.Hide();
1994 [ # # ]: 0 : aLbGradient.Hide();
1995 [ # # ]: 0 : aLbHatching.Enable();
1996 [ # # ]: 0 : aLbHatching.Show();
1997 [ # # ]: 0 : aLbBitmap.Hide();
1998 [ # # ]: 0 : aCtlXRectPreview.Enable();
1999 [ # # ]: 0 : aCtlXRectPreview.Show();
2000 [ # # ]: 0 : aCtlBitmapPreview.Hide();
2001 : :
2002 [ # # ]: 0 : aFlStepCount.Hide();
2003 [ # # ]: 0 : aTsbStepCount.Hide();
2004 [ # # ]: 0 : aNumFldStepCount.Hide();
2005 : :
2006 [ # # ]: 0 : aTsbTile.Hide();
2007 [ # # ]: 0 : aTsbStretch.Hide();
2008 [ # # ]: 0 : aTsbScale.Hide();
2009 [ # # ]: 0 : aTsbOriginal.Hide();
2010 [ # # ]: 0 : aFtXSize.Hide();
2011 [ # # ]: 0 : aMtrFldXSize.Hide();
2012 [ # # ]: 0 : aFtYSize.Hide();
2013 [ # # ]: 0 : aMtrFldYSize.Hide();
2014 [ # # ]: 0 : aFlSize.Hide();
2015 [ # # ]: 0 : aRbtRow.Hide();
2016 [ # # ]: 0 : aRbtColumn.Hide();
2017 [ # # ]: 0 : aMtrFldOffset.Hide();
2018 [ # # ]: 0 : aFlOffset.Hide();
2019 [ # # ]: 0 : aCtlPosition.Hide();
2020 [ # # ]: 0 : aFtXOffset.Hide();
2021 [ # # ]: 0 : aMtrFldXOffset.Hide();
2022 [ # # ]: 0 : aFtYOffset.Hide();
2023 [ # # ]: 0 : aMtrFldYOffset.Hide();
2024 [ # # ]: 0 : aFlPosition.Hide();
2025 : :
2026 : : // Controls for Hatch-Background
2027 [ # # ]: 0 : aCbxHatchBckgrd.Show();
2028 [ # # ]: 0 : aLbHatchBckgrdColor.Show();
2029 [ # # ]: 0 : aCbxHatchBckgrd.Enable();
2030 [ # # ]: 0 : aLbHatchBckgrdColor.Enable();
2031 : :
2032 : : // set table text
2033 [ # # ][ # # ]: 0 : String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
[ # # ]
2034 [ # # ][ # # ]: 0 : INetURLObject aURL( pHatchingList->GetPath() );
2035 : :
2036 [ # # ][ # # ]: 0 : aURL.Append( pHatchingList->GetName() );
2037 : : DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
2038 : :
2039 [ # # ][ # # ]: 0 : if( aURL.getBase().getLength() > 18 )
2040 : : {
2041 [ # # ][ # # ]: 0 : aString += String(String(aURL.getBase()).Copy( 0, 15 ));
[ # # ][ # # ]
[ # # ][ # # ]
2042 [ # # ]: 0 : aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) );
2043 : : }
2044 : : else
2045 [ # # ][ # # ]: 0 : aString += String(aURL.getBase());
[ # # ][ # # ]
2046 : :
2047 [ # # ]: 0 : ModifyHatchingHdl_Impl( this );
2048 [ # # ]: 0 : ModifyHatchBckgrdColorHdl_Impl( this );
2049 [ # # ][ # # ]: 0 : ToggleHatchBckgrdColorHdl_Impl( this );
[ # # ]
2050 : 0 : }
2051 : :
2052 : : //------------------------------------------------------------------------
2053 : :
2054 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyHatchingHdl_Impl)
2055 : : {
2056 : 0 : const SfxPoolItem* pPoolItem = NULL;
2057 [ # # ]: 0 : sal_uInt16 _nPos = aLbHatching.GetSelectEntryPos();
2058 [ # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND )
2059 : : {
2060 : : // fill ItemSet and pass it on to aCtlXRectPreview
2061 [ # # ]: 0 : XHatchEntry* pEntry = pHatchingList->GetHatch( _nPos );
2062 : :
2063 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_HATCH ) );
[ # # ]
2064 [ # # ][ # # ]: 0 : rXFSet.Put( XFillHatchItem( String(), pEntry->GetHatch() ) );
[ # # ][ # # ]
[ # # ]
2065 : : }
2066 [ # # ][ # # ]: 0 : else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLHATCH ), sal_True, &pPoolItem ) )
[ # # ]
2067 : : {
2068 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_HATCH ) );
[ # # ]
2069 [ # # ][ # # ]: 0 : rXFSet.Put( XFillHatchItem( String(), ( ( const XFillHatchItem* ) pPoolItem )->GetHatchValue() ) );
[ # # ][ # # ]
[ # # ][ # # ]
2070 : : }
2071 : : else
2072 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
[ # # ]
2073 : :
2074 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
2075 [ # # ]: 0 : aCtlXRectPreview.Invalidate();
2076 : :
2077 : 0 : return( 0L );
2078 : : }
2079 : :
2080 : : //------------------------------------------------------------------------
2081 : :
2082 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyHatchBckgrdColorHdl_Impl)
2083 : : {
2084 : 0 : const SfxPoolItem* pPoolItem = NULL;
2085 [ # # ]: 0 : sal_uInt16 _nPos = aLbHatchBckgrdColor.GetSelectEntryPos();
2086 [ # # ]: 0 : aLbColor.SelectEntryPos( _nPos );
2087 [ # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND )
2088 : : {
2089 : : rXFSet.Put( XFillColorItem( String(),
2090 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.GetSelectEntryColor() ) );
[ # # ][ # # ]
[ # # ][ # # ]
2091 : : }
2092 [ # # ][ # # ]: 0 : else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLCOLOR ), sal_True, &pPoolItem ) )
[ # # ]
2093 : : {
2094 [ # # ]: 0 : Color aColor( ( ( const XFillColorItem* ) pPoolItem )->GetColorValue() );
2095 [ # # ][ # # ]: 0 : rXFSet.Put( XFillColorItem( String(), aColor ) );
[ # # ][ # # ]
[ # # ]
2096 : : }
2097 : : else
2098 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
[ # # ]
2099 : :
2100 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
2101 [ # # ]: 0 : aCtlXRectPreview.Invalidate();
2102 : :
2103 : 0 : return( 0L );
2104 : : }
2105 : :
2106 : : //------------------------------------------------------------------------
2107 : :
2108 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ToggleHatchBckgrdColorHdl_Impl)
2109 : : {
2110 : : // switch on/off backgroundcolor for hatches
2111 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.Enable( aCbxHatchBckgrd.IsChecked() );
2112 : :
2113 [ # # ][ # # ]: 0 : XFillBackgroundItem aItem( aCbxHatchBckgrd.IsChecked() );
2114 [ # # ]: 0 : rXFSet.Put ( aItem, XATTR_FILLBACKGROUND );
2115 : :
2116 [ # # ]: 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
2117 [ # # ]: 0 : aCtlXRectPreview.Invalidate();
2118 : :
2119 [ # # ][ # # ]: 0 : if( aLbHatchBckgrdColor.GetSelectEntryPos() == LISTBOX_ENTRY_NOTFOUND )
2120 : : {
2121 [ # # ][ # # ]: 0 : if ( SFX_ITEM_SET == rOutAttrs.GetItemState( XATTR_FILLCOLOR ) )//>= SFX_ITEM_DEFAULT )
2122 : : {
2123 [ # # ][ # # ]: 0 : XFillColorItem aColorItem( (const XFillColorItem&)rOutAttrs.Get( XATTR_FILLCOLOR ) );
2124 [ # # ][ # # ]: 0 : aLbHatchBckgrdColor.SelectEntry( aColorItem.GetColorValue() );
[ # # ]
2125 : : }
2126 : : }
2127 : :
2128 [ # # ]: 0 : return( 0L );
2129 : : }
2130 : :
2131 : : //------------------------------------------------------------------------
2132 : :
2133 : 0 : void SvxAreaTabPage::ClickBitmapHdl_Impl()
2134 : : {
2135 [ # # ]: 0 : aLbColor.Hide();
2136 [ # # ]: 0 : aLbGradient.Hide();
2137 [ # # ]: 0 : aLbHatching.Hide();
2138 [ # # ]: 0 : aLbBitmap.Enable();
2139 [ # # ]: 0 : aLbBitmap.Show();
2140 [ # # ]: 0 : aCtlBitmapPreview.Enable();
2141 [ # # ]: 0 : aCtlBitmapPreview.Show();
2142 [ # # ]: 0 : aCtlXRectPreview.Hide();
2143 [ # # ]: 0 : aFlStepCount.Hide();
2144 [ # # ]: 0 : aTsbStepCount.Hide();
2145 [ # # ]: 0 : aNumFldStepCount.Hide();
2146 : :
2147 [ # # ]: 0 : aTsbTile.Enable();
2148 [ # # ]: 0 : aTsbStretch.Enable();
2149 [ # # ]: 0 : aTsbScale.Enable();
2150 [ # # ]: 0 : aTsbOriginal.Enable();
2151 [ # # ]: 0 : aFtXSize.Enable();
2152 [ # # ]: 0 : aMtrFldXSize.Enable();
2153 [ # # ]: 0 : aFtYSize.Enable();
2154 [ # # ]: 0 : aMtrFldYSize.Enable();
2155 [ # # ]: 0 : aFlSize.Enable();
2156 [ # # ]: 0 : aCtlPosition.Enable();
2157 [ # # ]: 0 : aFtXOffset.Enable();
2158 [ # # ]: 0 : aMtrFldXOffset.Enable();
2159 [ # # ]: 0 : aFtYOffset.Enable();
2160 [ # # ]: 0 : aMtrFldYOffset.Enable();
2161 [ # # ]: 0 : aFlPosition.Enable();
2162 [ # # ]: 0 : aRbtRow.Enable();
2163 [ # # ]: 0 : aRbtColumn.Enable();
2164 [ # # ]: 0 : aMtrFldOffset.Enable();
2165 [ # # ]: 0 : aFlOffset.Enable();
2166 : :
2167 : : // Controls for Hatch-Background
2168 [ # # ]: 0 : aCbxHatchBckgrd.Hide();
2169 [ # # ]: 0 : aLbHatchBckgrdColor.Hide();
2170 : :
2171 [ # # ]: 0 : aTsbTile.Show();
2172 [ # # ]: 0 : aTsbStretch.Show();
2173 [ # # ]: 0 : aTsbScale.Show();
2174 [ # # ]: 0 : aTsbOriginal.Show();
2175 [ # # ]: 0 : aFtXSize.Show();
2176 [ # # ]: 0 : aMtrFldXSize.Show();
2177 [ # # ]: 0 : aFtYSize.Show();
2178 [ # # ]: 0 : aMtrFldYSize.Show();
2179 [ # # ]: 0 : aFlSize.Show();
2180 [ # # ]: 0 : aCtlPosition.Show();
2181 [ # # ]: 0 : aFtXOffset.Show();
2182 [ # # ]: 0 : aMtrFldXOffset.Show();
2183 [ # # ]: 0 : aFtYOffset.Show();
2184 [ # # ]: 0 : aMtrFldYOffset.Show();
2185 [ # # ]: 0 : aFlPosition.Show();
2186 [ # # ]: 0 : aRbtRow.Show();
2187 [ # # ]: 0 : aRbtColumn.Show();
2188 [ # # ]: 0 : aMtrFldOffset.Show();
2189 [ # # ]: 0 : aFlOffset.Show();
2190 : :
2191 : : // set table text
2192 [ # # ][ # # ]: 0 : String aString( CUI_RES( RID_SVXSTR_TABLE ) ); aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
[ # # ]
2193 [ # # ][ # # ]: 0 : INetURLObject aURL( pBitmapList->GetPath() );
2194 : :
2195 [ # # ][ # # ]: 0 : aURL.Append( pBitmapList->GetName() );
2196 : : DBG_ASSERT( aURL.GetProtocol() != INET_PROT_NOT_VALID, "invalid URL" );
2197 : :
2198 [ # # ][ # # ]: 0 : if( aURL.getBase().getLength() > 18 )
2199 : : {
2200 [ # # ][ # # ]: 0 : aString += String(aURL.getBase()).Copy( 0, 15 );
[ # # ][ # # ]
[ # # ][ # # ]
2201 [ # # ]: 0 : aString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "..." ) );
2202 : : }
2203 : : else
2204 [ # # ][ # # ]: 0 : aString += String(aURL.getBase());
[ # # ][ # # ]
2205 : :
2206 [ # # ]: 0 : ModifyBitmapHdl_Impl( this );
2207 [ # # ][ # # ]: 0 : ModifyTileHdl_Impl( &aTsbOriginal );
[ # # ]
2208 : 0 : }
2209 : :
2210 : : //------------------------------------------------------------------------
2211 : :
2212 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyBitmapHdl_Impl)
2213 : : {
2214 : 0 : const SfxPoolItem* pPoolItem = NULL;
2215 [ # # ]: 0 : sal_uInt16 _nPos = aLbBitmap.GetSelectEntryPos();
2216 [ # # ]: 0 : if( _nPos != LISTBOX_ENTRY_NOTFOUND )
2217 : : {
2218 : : // fill ItemSet and pass it on to aCtlXRectPreview
2219 [ # # ]: 0 : XBitmapEntry* pEntry = pBitmapList->GetBitmap( _nPos );
2220 : :
2221 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) );
[ # # ]
2222 [ # # ][ # # ]: 0 : rXFSet.Put( XFillBitmapItem( String(), pEntry->GetXBitmap() ) );
[ # # ][ # # ]
[ # # ]
2223 : : }
2224 [ # # ][ # # ]: 0 : else if( SFX_ITEM_SET == rOutAttrs.GetItemState( GetWhich( XATTR_FILLBITMAP ), sal_True, &pPoolItem ) )
[ # # ]
2225 : : {
2226 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_BITMAP ) );
[ # # ]
2227 [ # # ][ # # ]: 0 : rXFSet.Put( XFillBitmapItem( String(), ( ( const XFillBitmapItem* ) pPoolItem )->GetBitmapValue() ) );
[ # # ][ # # ]
[ # # ][ # # ]
2228 : : }
2229 : : else
2230 [ # # ][ # # ]: 0 : rXFSet.Put( XFillStyleItem( XFILL_NONE ) );
[ # # ]
2231 : :
2232 [ # # ]: 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
2233 [ # # ]: 0 : aCtlBitmapPreview.Invalidate();
2234 : :
2235 : 0 : return( 0L );
2236 : : }
2237 : :
2238 : : //------------------------------------------------------------------------
2239 : :
2240 : 0 : IMPL_LINK( SvxAreaTabPage, ModifyStepCountHdl_Impl, void *, p )
2241 : : {
2242 [ # # ]: 0 : if( p == &aTsbStepCount )
2243 : : {
2244 [ # # ]: 0 : if( aTsbStepCount.GetState() == STATE_NOCHECK )
2245 : : {
2246 [ # # ]: 0 : if( aNumFldStepCount.GetText().Len() == 0 )
2247 [ # # ][ # # ]: 0 : aNumFldStepCount.SetText(rtl::OUString("64"));
[ # # ]
2248 : :
2249 : 0 : aNumFldStepCount.Enable();
2250 : : }
2251 : : else
2252 : 0 : aNumFldStepCount.Disable();
2253 : : }
2254 : :
2255 : 0 : sal_uInt16 nValue = 0;
2256 [ # # ]: 0 : if( aTsbStepCount.GetState() != STATE_CHECK )
2257 : : {
2258 : : // condition != Disabled ?
2259 [ # # ]: 0 : if( aNumFldStepCount.GetText().Len() > 0 )
2260 : 0 : nValue = (sal_uInt16) aNumFldStepCount.GetValue();
2261 : : }
2262 [ # # ]: 0 : rXFSet.Put( XGradientStepCountItem( nValue ) );
2263 : 0 : aCtlXRectPreview.SetAttributes( aXFillAttr.GetItemSet() );
2264 : 0 : aCtlXRectPreview.Invalidate();
2265 : :
2266 : 0 : return( 0L );
2267 : : }
2268 : :
2269 : : //------------------------------------------------------------------------
2270 : :
2271 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ModifyTileHdl_Impl)
2272 : : {
2273 : 0 : TriState eState = aTsbTile.GetState();
2274 [ # # ]: 0 : if( eState == STATE_CHECK )
2275 : : {
2276 : 0 : aTsbStretch.Disable();
2277 : 0 : aRbtRow.Enable();
2278 : 0 : aRbtColumn.Enable();
2279 : 0 : aMtrFldOffset.Enable();
2280 : 0 : aFlOffset.Enable();
2281 : :
2282 : 0 : aCtlPosition.Enable();
2283 : 0 : aCtlPosition.Invalidate();
2284 : 0 : aFtXOffset.Enable();
2285 : 0 : aMtrFldXOffset.Enable();
2286 : 0 : aFtYOffset.Enable();
2287 : 0 : aMtrFldYOffset.Enable();
2288 : 0 : aFlPosition.Enable();
2289 : :
2290 : 0 : aTsbScale.Enable();
2291 : 0 : aTsbOriginal.Enable();
2292 : 0 : aFtXSize.Enable();
2293 : 0 : aMtrFldXSize.Enable();
2294 : 0 : aFtYSize.Enable();
2295 : 0 : aMtrFldYSize.Enable();
2296 : 0 : aFlSize.Enable();
2297 : : }
2298 [ # # ]: 0 : else if( eState == STATE_NOCHECK )
2299 : : {
2300 : 0 : aTsbStretch.Enable();
2301 : 0 : aRbtRow.Disable();
2302 : 0 : aRbtColumn.Disable();
2303 : 0 : aMtrFldOffset.Disable();
2304 : 0 : aFlOffset.Disable();
2305 : :
2306 : 0 : aCtlPosition.Disable();
2307 : 0 : aCtlPosition.Invalidate();
2308 : 0 : aFtXOffset.Disable();
2309 : 0 : aMtrFldXOffset.Disable();
2310 : 0 : aFtYOffset.Disable();
2311 : 0 : aMtrFldYOffset.Disable();
2312 : 0 : aFlPosition.Disable();
2313 : :
2314 [ # # ]: 0 : if( aTsbStretch.GetState() != STATE_NOCHECK )
2315 : : {
2316 : 0 : aTsbScale.Disable();
2317 : 0 : aTsbOriginal.Disable();
2318 : 0 : aFtXSize.Disable();
2319 : 0 : aMtrFldXSize.Disable();
2320 : 0 : aFtYSize.Disable();
2321 : 0 : aMtrFldYSize.Disable();
2322 : 0 : aFlSize.Disable();
2323 : : }
2324 : : else
2325 : : {
2326 : 0 : aTsbScale.Enable();
2327 : 0 : aTsbOriginal.Enable();
2328 : 0 : aFtXSize.Enable();
2329 : 0 : aMtrFldXSize.Enable();
2330 : 0 : aFtYSize.Enable();
2331 : 0 : aMtrFldYSize.Enable();
2332 : 0 : aFlSize.Enable();
2333 : : }
2334 : : }
2335 : : else
2336 : : {
2337 : 0 : aTsbStretch.Disable();
2338 : 0 : aRbtRow.Disable();
2339 : 0 : aRbtColumn.Disable();
2340 : 0 : aMtrFldOffset.Disable();
2341 : 0 : aFlOffset.Disable();
2342 : :
2343 : 0 : aCtlPosition.Disable();
2344 : 0 : aCtlPosition.Invalidate();
2345 : 0 : aFtXOffset.Disable();
2346 : 0 : aMtrFldXOffset.Disable();
2347 : 0 : aFtYOffset.Disable();
2348 : 0 : aMtrFldYOffset.Disable();
2349 : 0 : aFlPosition.Disable();
2350 : :
2351 : 0 : aTsbScale.Disable();
2352 : 0 : aTsbOriginal.Disable();
2353 : 0 : aFtXSize.Disable();
2354 : 0 : aMtrFldXSize.Disable();
2355 : 0 : aFtYSize.Disable();
2356 : 0 : aMtrFldYSize.Disable();
2357 : 0 : aFlSize.Disable();
2358 : : }
2359 : :
2360 [ # # ]: 0 : if( aTsbOriginal.GetState() == STATE_CHECK )
2361 : : {
2362 [ # # ]: 0 : aMtrFldXSize.SetText( String() );
2363 [ # # ]: 0 : aMtrFldYSize.SetText( String() );
2364 : 0 : aFtXSize.Disable();
2365 : 0 : aFtYSize.Disable();
2366 : 0 : aMtrFldXSize.Disable();
2367 : 0 : aMtrFldYSize.Disable();
2368 : 0 : aTsbScale.Disable();
2369 : : }
2370 : : else
2371 : : {
2372 : 0 : aMtrFldXSize.SetValue( aMtrFldXSize.GetValue() );
2373 : 0 : aMtrFldYSize.SetValue( aMtrFldYSize.GetValue() );
2374 : : }
2375 : :
2376 [ # # ]: 0 : rXFSet.Put( XFillBmpTileItem( sal::static_int_cast< sal_Bool >( eState ) ) );
2377 : :
2378 [ # # ]: 0 : if( aTsbStretch.IsEnabled() )
2379 : : rXFSet.Put(
2380 : : XFillBmpStretchItem(
2381 [ # # ]: 0 : sal::static_int_cast< sal_Bool >( aTsbStretch.GetState() ) ) );
2382 : :
2383 [ # # ]: 0 : if( aTsbScale.IsEnabled() )
2384 [ # # ]: 0 : rXFSet.Put( XFillBmpSizeLogItem( aTsbScale.GetState() == STATE_NOCHECK ) );
2385 : :
2386 [ # # ]: 0 : if( aMtrFldXSize.IsEnabled() )
2387 : : {
2388 : 0 : XFillBmpSizeXItem* pItem = NULL;
2389 : 0 : TriState eScaleState = aTsbScale.GetState();
2390 : :
2391 [ # # ]: 0 : if( eScaleState == STATE_NOCHECK )
2392 [ # # ]: 0 : pItem = new XFillBmpSizeXItem( GetCoreValue( aMtrFldXSize, ePoolUnit ) );
2393 : : else
2394 [ # # ]: 0 : pItem = new XFillBmpSizeXItem( -labs( static_cast<long>(aMtrFldXSize.GetValue()) ) );
2395 : :
2396 : 0 : rXFSet.Put( *pItem );
2397 : :
2398 [ # # ]: 0 : delete pItem;
2399 : : }
2400 [ # # ][ # # ]: 0 : else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK )
[ # # ]
2401 : : {
2402 : : // original size -> size == 0
2403 [ # # ]: 0 : rXFSet.Put( XFillBmpSizeXItem( 0 ) );
2404 [ # # ]: 0 : rXFSet.Put( XFillBmpSizeLogItem( sal_True ) );
2405 : : }
2406 : :
2407 [ # # ]: 0 : if( aMtrFldYSize.IsEnabled() )
2408 : : {
2409 : 0 : XFillBmpSizeYItem* pItem = NULL;
2410 : 0 : TriState eScaleState = aTsbScale.GetState();
2411 : :
2412 [ # # ]: 0 : if( eScaleState == STATE_NOCHECK )
2413 [ # # ]: 0 : pItem = new XFillBmpSizeYItem( GetCoreValue( aMtrFldYSize, ePoolUnit ) );
2414 : : else
2415 [ # # ]: 0 : pItem = new XFillBmpSizeYItem( -labs( static_cast<long>(aMtrFldYSize.GetValue()) ) );
2416 : :
2417 : 0 : rXFSet.Put( *pItem );
2418 : :
2419 [ # # ]: 0 : delete pItem;
2420 : : }
2421 [ # # ][ # # ]: 0 : else if( aTsbOriginal.IsEnabled() && aTsbOriginal.GetState() == STATE_CHECK )
[ # # ]
2422 : : {
2423 : : // original size -> size == 0
2424 [ # # ]: 0 : rXFSet.Put( XFillBmpSizeYItem( 0 ) );
2425 [ # # ]: 0 : rXFSet.Put( XFillBmpSizeLogItem( sal_True ) );
2426 : : }
2427 : :
2428 [ # # ]: 0 : if( aMtrFldOffset.IsEnabled() )
2429 : : {
2430 [ # # ]: 0 : if( aRbtRow.IsChecked() )
2431 : : {
2432 [ # # ]: 0 : rXFSet.Put( XFillBmpTileOffsetXItem( (sal_uInt16) aMtrFldOffset.GetValue() ) );
2433 [ # # ]: 0 : rXFSet.Put( XFillBmpTileOffsetYItem( (sal_uInt16) 0 ) );
2434 : : }
2435 [ # # ]: 0 : else if( aRbtColumn.IsChecked() )
2436 : : {
2437 [ # # ]: 0 : rXFSet.Put( XFillBmpTileOffsetXItem( (sal_uInt16) 0 ) );
2438 [ # # ]: 0 : rXFSet.Put( XFillBmpTileOffsetYItem( (sal_uInt16) aMtrFldOffset.GetValue() ) );
2439 : : }
2440 : : }
2441 : :
2442 [ # # ]: 0 : if( aCtlPosition.IsEnabled() )
2443 [ # # ]: 0 : rXFSet.Put( XFillBmpPosItem( aCtlPosition.GetActualRP() ) );
2444 : :
2445 [ # # ]: 0 : if( aMtrFldXOffset.IsEnabled() )
2446 [ # # ]: 0 : rXFSet.Put( XFillBmpPosOffsetXItem( (sal_uInt16) aMtrFldXOffset.GetValue() ) );
2447 : :
2448 [ # # ]: 0 : if( aMtrFldYOffset.IsEnabled() )
2449 [ # # ]: 0 : rXFSet.Put( XFillBmpPosOffsetYItem( (sal_uInt16) aMtrFldYOffset.GetValue() ) );
2450 : :
2451 : :
2452 : 0 : aCtlBitmapPreview.SetAttributes( aXFillAttr.GetItemSet() );
2453 : 0 : aCtlBitmapPreview.Invalidate();
2454 : :
2455 : 0 : return( 0L );
2456 : : }
2457 : :
2458 : : //------------------------------------------------------------------------
2459 : :
2460 : 0 : IMPL_LINK_NOARG(SvxAreaTabPage, ClickScaleHdl_Impl)
2461 : : {
2462 [ # # ]: 0 : if( aTsbScale.GetState() == STATE_CHECK )
2463 : : {
2464 : 0 : aMtrFldXSize.SetDecimalDigits( 0 );
2465 : 0 : aMtrFldXSize.SetUnit( FUNIT_CUSTOM );
2466 : 0 : aMtrFldXSize.SetValue( 100 );
2467 : 0 : aMtrFldXSize.SetMax( 100 );
2468 : 0 : aMtrFldXSize.SetLast( 100 );
2469 : :
2470 : 0 : aMtrFldYSize.SetDecimalDigits( 0 );
2471 : 0 : aMtrFldYSize.SetUnit( FUNIT_CUSTOM );
2472 : 0 : aMtrFldYSize.SetValue( 100 );
2473 : 0 : aMtrFldYSize.SetMax( 100 );
2474 : 0 : aMtrFldYSize.SetLast( 100 );
2475 : : }
2476 : : else
2477 : : {
2478 : 0 : aMtrFldXSize.SetDecimalDigits( 2 );
2479 : 0 : aMtrFldXSize.SetUnit( eFUnit );
2480 : 0 : aMtrFldXSize.SetValue( 100 );
2481 : 0 : aMtrFldXSize.SetMax( 999900 );
2482 : 0 : aMtrFldXSize.SetLast( 100000 );
2483 : :
2484 : 0 : aMtrFldYSize.SetDecimalDigits( 2 );
2485 : 0 : aMtrFldYSize.SetUnit( eFUnit );
2486 : 0 : aMtrFldYSize.SetValue( 100 );
2487 : 0 : aMtrFldYSize.SetMax( 999900 );
2488 : 0 : aMtrFldYSize.SetLast( 100000 );
2489 : : }
2490 : :
2491 : 0 : ModifyTileHdl_Impl( NULL );
2492 : :
2493 : 0 : return( 0L );
2494 : : }
2495 : :
2496 : : //------------------------------------------------------------------------
2497 : :
2498 : 0 : void SvxAreaTabPage::PointChanged( Window* pWindow, RECT_POINT eRcPt )
2499 : : {
2500 : 0 : eRP = eRcPt;
2501 : :
2502 : : // alignment of the bitmap fill
2503 : 0 : ModifyTileHdl_Impl( pWindow );
2504 : 0 : }
2505 : :
2506 : 0 : void SvxAreaTabPage::PageCreated (SfxAllItemSet aSet)
2507 : : {
2508 : 0 : SFX_ITEMSET_ARG (&aSet,pColorListItem,SvxColorListItem,SID_COLOR_TABLE,sal_False);
2509 : 0 : SFX_ITEMSET_ARG (&aSet,pGradientListItem,SvxGradientListItem,SID_GRADIENT_LIST,sal_False);
2510 : 0 : SFX_ITEMSET_ARG (&aSet,pHatchingListItem,SvxHatchListItem,SID_HATCH_LIST,sal_False);
2511 : 0 : SFX_ITEMSET_ARG (&aSet,pBitmapListItem,SvxBitmapListItem,SID_BITMAP_LIST,sal_False);
2512 : 0 : SFX_ITEMSET_ARG (&aSet,pPageTypeItem,SfxUInt16Item,SID_PAGE_TYPE,sal_False);
2513 : 0 : SFX_ITEMSET_ARG (&aSet,pDlgTypeItem,SfxUInt16Item,SID_DLG_TYPE,sal_False);
2514 : 0 : SFX_ITEMSET_ARG (&aSet,pPosItem,SfxUInt16Item,SID_TABPAGE_POS,sal_False);
2515 : :
2516 [ # # ]: 0 : if (pColorListItem)
2517 [ # # ]: 0 : SetColorList(pColorListItem->GetColorList());
2518 [ # # ]: 0 : if (pGradientListItem)
2519 [ # # ]: 0 : SetGradientList(pGradientListItem->GetGradientList());
2520 [ # # ]: 0 : if (pHatchingListItem)
2521 [ # # ]: 0 : SetHatchingList(pHatchingListItem->GetHatchList());
2522 [ # # ]: 0 : if (pBitmapListItem)
2523 [ # # ]: 0 : SetBitmapList(pBitmapListItem->GetBitmapList());
2524 [ # # ]: 0 : if (pPageTypeItem)
2525 : 0 : SetPageType(pPageTypeItem->GetValue());
2526 [ # # ]: 0 : if (pDlgTypeItem)
2527 : 0 : SetDlgType(pDlgTypeItem->GetValue());
2528 [ # # ]: 0 : if (pPosItem)
2529 : 0 : SetPos(pPosItem->GetValue());
2530 : 0 : Construct();
2531 : 0 : }
2532 : :
2533 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|