Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #include <svx/svxids.hrc>
21 : #include <svx/drawitem.hxx>
22 : #include <svx/xtable.hxx>
23 :
24 : using namespace ::com::sun::star;
25 :
26 18 : TYPEINIT1_FACTORY( SvxColorListItem, SfxPoolItem , new SvxColorListItem );
27 18 : TYPEINIT1_FACTORY( SvxGradientListItem, SfxPoolItem , new SvxGradientListItem );
28 18 : TYPEINIT1_FACTORY( SvxHatchListItem, SfxPoolItem , new SvxHatchListItem );
29 18 : TYPEINIT1_FACTORY( SvxBitmapListItem, SfxPoolItem , new SvxBitmapListItem );
30 18 : TYPEINIT1_FACTORY( SvxDashListItem, SfxPoolItem , new SvxDashListItem );
31 18 : TYPEINIT1_FACTORY( SvxLineEndListItem, SfxPoolItem , new SvxLineEndListItem );
32 :
33 : //==================================================================
34 : //
35 : // SvxColorListItem
36 : //
37 : //==================================================================
38 :
39 0 : SvxColorListItem::SvxColorListItem()
40 : {
41 0 : }
42 :
43 :
44 439 : SvxColorListItem::SvxColorListItem( XColorListRef pTable, sal_uInt16 nW ) :
45 : SfxPoolItem( nW ),
46 439 : pColorList( pTable )
47 : {
48 439 : }
49 :
50 :
51 439 : SvxColorListItem::SvxColorListItem( const SvxColorListItem& rItem ) :
52 : SfxPoolItem( rItem ),
53 439 : pColorList( rItem.pColorList )
54 : {
55 439 : }
56 :
57 0 : SfxItemPresentation SvxColorListItem::GetPresentation
58 : (
59 : SfxItemPresentation /*ePres*/,
60 : SfxMapUnit /*eCoreUnit*/,
61 : SfxMapUnit /*ePresUnit*/,
62 : XubString& rText, const IntlWrapper *
63 : ) const
64 : {
65 0 : rText.Erase();
66 0 : return SFX_ITEM_PRESENTATION_NONE;
67 : }
68 :
69 0 : int SvxColorListItem::operator==( const SfxPoolItem& rItem ) const
70 : {
71 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
72 0 : return ( ( SvxColorListItem& ) rItem).pColorList == pColorList;
73 : }
74 :
75 439 : SfxPoolItem* SvxColorListItem::Clone( SfxItemPool * ) const
76 : {
77 439 : return new SvxColorListItem( *this );
78 : }
79 :
80 :
81 : // Should be a template class but ...
82 : #define QUERY_PUT_IMPL(svtype, xtype) \
83 : bool svtype::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 ) const \
84 : { \
85 : rVal = uno::makeAny( uno::Reference< uno::XWeak >( p##xtype.get() ) ); \
86 : return true; \
87 : } \
88 : \
89 : bool svtype::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 ) \
90 : { \
91 : uno::Reference< uno::XWeak > xRef; \
92 : if( rVal >>= xRef ) { \
93 : p##xtype = X##xtype##Ref(dynamic_cast<X##xtype *>(xRef.get())); \
94 : return true; \
95 : } \
96 : return false; \
97 : }
98 :
99 0 : QUERY_PUT_IMPL( SvxColorListItem, ColorList )
100 :
101 : //==================================================================
102 : //
103 : // SvxGradientListItem
104 : //
105 : //==================================================================
106 :
107 0 : SvxGradientListItem::SvxGradientListItem()
108 : {
109 0 : }
110 :
111 388 : SvxGradientListItem::SvxGradientListItem( XGradientListRef pList, sal_uInt16 nW ) :
112 : SfxPoolItem( nW ),
113 388 : pGradientList( pList )
114 : {
115 388 : }
116 :
117 :
118 388 : SvxGradientListItem::SvxGradientListItem( const SvxGradientListItem& rItem ) :
119 : SfxPoolItem( rItem ),
120 388 : pGradientList( rItem.pGradientList )
121 : {
122 388 : }
123 :
124 : //------------------------------------------------------------------------
125 :
126 0 : SfxItemPresentation SvxGradientListItem::GetPresentation
127 : (
128 : SfxItemPresentation /*ePres*/,
129 : SfxMapUnit /*eCoreUnit*/,
130 : SfxMapUnit /*ePresUnit*/,
131 : XubString& rText, const IntlWrapper *
132 : ) const
133 : {
134 0 : rText.Erase();
135 0 : return SFX_ITEM_PRESENTATION_NONE;
136 : }
137 :
138 :
139 0 : int SvxGradientListItem::operator==( const SfxPoolItem& rItem ) const
140 : {
141 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
142 0 : return ( ( SvxGradientListItem& ) rItem).pGradientList == pGradientList;
143 : }
144 :
145 :
146 388 : SfxPoolItem* SvxGradientListItem::Clone( SfxItemPool * ) const
147 : {
148 388 : return new SvxGradientListItem( *this );
149 : }
150 :
151 :
152 0 : QUERY_PUT_IMPL( SvxGradientListItem, GradientList )
153 :
154 : //==================================================================
155 : //
156 : // SvxHatchListItem
157 : //
158 : //==================================================================
159 :
160 0 : SvxHatchListItem::SvxHatchListItem()
161 : {
162 0 : }
163 :
164 :
165 388 : SvxHatchListItem::SvxHatchListItem( XHatchListRef pList, sal_uInt16 nW ) :
166 : SfxPoolItem( nW ),
167 388 : pHatchList( pList )
168 : {
169 388 : }
170 :
171 :
172 388 : SvxHatchListItem::SvxHatchListItem( const SvxHatchListItem& rItem ) :
173 : SfxPoolItem( rItem ),
174 388 : pHatchList( rItem.pHatchList )
175 : {
176 388 : }
177 :
178 : //------------------------------------------------------------------------
179 :
180 0 : SfxItemPresentation SvxHatchListItem::GetPresentation
181 : (
182 : SfxItemPresentation /*ePres*/,
183 : SfxMapUnit /*eCoreUnit*/,
184 : SfxMapUnit /*ePresUnit*/,
185 : XubString& rText, const IntlWrapper *
186 : ) const
187 : {
188 0 : rText.Erase();
189 0 : return SFX_ITEM_PRESENTATION_NONE;
190 : }
191 :
192 :
193 0 : int SvxHatchListItem::operator==( const SfxPoolItem& rItem ) const
194 : {
195 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
196 0 : return ( ( SvxHatchListItem& ) rItem).pHatchList == pHatchList;
197 : }
198 :
199 :
200 388 : SfxPoolItem* SvxHatchListItem::Clone( SfxItemPool * ) const
201 : {
202 388 : return new SvxHatchListItem( *this );
203 : }
204 :
205 0 : QUERY_PUT_IMPL( SvxHatchListItem, HatchList )
206 :
207 :
208 : //==================================================================
209 : //
210 : // SvxBitmapListItem
211 : //
212 : //==================================================================
213 :
214 0 : SvxBitmapListItem::SvxBitmapListItem()
215 : {
216 0 : }
217 :
218 388 : SvxBitmapListItem::SvxBitmapListItem( XBitmapListRef pList, sal_uInt16 nW ) :
219 : SfxPoolItem( nW ),
220 388 : pBitmapList( pList )
221 : {
222 388 : }
223 :
224 388 : SvxBitmapListItem::SvxBitmapListItem( const SvxBitmapListItem& rItem ) :
225 : SfxPoolItem( rItem ),
226 388 : pBitmapList( rItem.pBitmapList )
227 : {
228 388 : }
229 :
230 0 : SfxItemPresentation SvxBitmapListItem::GetPresentation
231 : (
232 : SfxItemPresentation /*ePres*/,
233 : SfxMapUnit /*eCoreUnit*/,
234 : SfxMapUnit /*ePresUnit*/,
235 : XubString& rText, const IntlWrapper *
236 : ) const
237 : {
238 0 : rText.Erase();
239 0 : return SFX_ITEM_PRESENTATION_NONE;
240 : }
241 :
242 0 : int SvxBitmapListItem::operator==( const SfxPoolItem& rItem ) const
243 : {
244 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
245 0 : return ( ( SvxBitmapListItem& ) rItem).pBitmapList == pBitmapList;
246 : }
247 :
248 388 : SfxPoolItem* SvxBitmapListItem::Clone( SfxItemPool * ) const
249 : {
250 388 : return new SvxBitmapListItem( *this );
251 : }
252 :
253 0 : QUERY_PUT_IMPL( SvxBitmapListItem, BitmapList )
254 :
255 : //==================================================================
256 : //
257 : // SvxDashListItem
258 : //
259 : //==================================================================
260 :
261 0 : SvxDashListItem::SvxDashListItem() :
262 0 : pDashList( 0 )
263 : {
264 0 : }
265 :
266 388 : SvxDashListItem::SvxDashListItem( XDashListRef pList, sal_uInt16 nW ) :
267 : SfxPoolItem( nW ),
268 388 : pDashList( pList )
269 : {
270 388 : }
271 :
272 388 : SvxDashListItem::SvxDashListItem( const SvxDashListItem& rItem ) :
273 : SfxPoolItem( rItem ),
274 388 : pDashList( rItem.pDashList )
275 : {
276 388 : }
277 :
278 0 : SfxItemPresentation SvxDashListItem::GetPresentation
279 : (
280 : SfxItemPresentation /*ePres*/,
281 : SfxMapUnit /*eCoreUnit*/,
282 : SfxMapUnit /*ePresUnit*/,
283 : XubString& rText, const IntlWrapper *
284 : ) const
285 : {
286 0 : rText.Erase();
287 0 : return SFX_ITEM_PRESENTATION_NONE;
288 : }
289 :
290 0 : int SvxDashListItem::operator==( const SfxPoolItem& rItem ) const
291 : {
292 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
293 0 : return ( ( SvxDashListItem& ) rItem).pDashList == pDashList;
294 : }
295 :
296 388 : SfxPoolItem* SvxDashListItem::Clone( SfxItemPool * ) const
297 : {
298 388 : return new SvxDashListItem( *this );
299 : }
300 :
301 0 : QUERY_PUT_IMPL( SvxDashListItem, DashList )
302 :
303 : //==================================================================
304 : //
305 : // SvxLineEndListItem
306 : //
307 : //==================================================================
308 :
309 0 : SvxLineEndListItem::SvxLineEndListItem()
310 : {
311 0 : }
312 :
313 388 : SvxLineEndListItem::SvxLineEndListItem( XLineEndListRef pList, sal_uInt16 nW ) :
314 : SfxPoolItem( nW ),
315 388 : pLineEndList( pList )
316 : {
317 388 : }
318 :
319 388 : SvxLineEndListItem::SvxLineEndListItem( const SvxLineEndListItem& rItem ) :
320 : SfxPoolItem( rItem ),
321 388 : pLineEndList( rItem.pLineEndList )
322 : {
323 388 : }
324 :
325 0 : SfxItemPresentation SvxLineEndListItem::GetPresentation
326 : (
327 : SfxItemPresentation /*ePres*/,
328 : SfxMapUnit /*eCoreUnit*/,
329 : SfxMapUnit /*ePresUnit*/,
330 : XubString& rText, const IntlWrapper *
331 : ) const
332 : {
333 0 : rText.Erase();
334 0 : return SFX_ITEM_PRESENTATION_NONE;
335 : }
336 :
337 0 : int SvxLineEndListItem::operator==( const SfxPoolItem& rItem ) const
338 : {
339 : DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
340 0 : return ( ( SvxLineEndListItem& ) rItem).pLineEndList == pLineEndList;
341 : }
342 :
343 388 : SfxPoolItem* SvxLineEndListItem::Clone( SfxItemPool * ) const
344 : {
345 388 : return new SvxLineEndListItem( *this );
346 : }
347 :
348 0 : QUERY_PUT_IMPL( SvxLineEndListItem, LineEndList )
349 :
350 :
351 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|