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 : : #include "ImageControl.hxx"
29 : : #include <com/sun/star/beans/PropertyAttribute.hpp>
30 : : #include <com/sun/star/beans/XPropertyState.hpp>
31 : : #include "corestrings.hrc"
32 : : #include "core_resource.hrc"
33 : : #include "core_resource.hxx"
34 : : #include <comphelper/sequence.hxx>
35 : : #include "Tools.hxx"
36 : : #include <tools/color.hxx>
37 : : #include <tools/debug.hxx>
38 : : #include <comphelper/property.hxx>
39 : : #include "FormatCondition.hxx"
40 : : #include <com/sun/star/awt/ImageScaleMode.hpp>
41 : : #include <com/sun/star/text/ParagraphVertAlign.hpp>
42 : : #include "ReportHelperImpl.hxx"
43 : : // =============================================================================
44 : : namespace reportdesign
45 : : {
46 : : // =============================================================================
47 : : using namespace com::sun::star;
48 : : using namespace comphelper;
49 : 0 : uno::Sequence< ::rtl::OUString > lcl_getImageOptionals()
50 : : {
51 : : ::rtl::OUString pProps[] = {
52 : : PROPERTY_CHARCOLOR
53 : : ,PROPERTY_CHAREMPHASIS
54 : : ,PROPERTY_CHARFONTCHARSET
55 : : ,PROPERTY_CHARFONTFAMILY
56 : : ,PROPERTY_CHARFONTNAME
57 : : ,PROPERTY_CHARFONTPITCH
58 : : ,PROPERTY_CHARFONTSTYLENAME
59 : : ,PROPERTY_CHARHEIGHT
60 : : ,PROPERTY_CHARPOSTURE
61 : : ,PROPERTY_CHARRELIEF
62 : : ,PROPERTY_FONTDESCRIPTOR
63 : : ,PROPERTY_FONTDESCRIPTORASIAN
64 : : ,PROPERTY_FONTDESCRIPTORCOMPLEX
65 : : ,PROPERTY_CONTROLTEXTEMPHASISMARK
66 : : ,PROPERTY_CHARROTATION
67 : : ,PROPERTY_CHARSCALEWIDTH
68 : : ,PROPERTY_CHARSTRIKEOUT
69 : : ,PROPERTY_CHARUNDERLINECOLOR
70 : : ,PROPERTY_CHARUNDERLINE
71 : : ,PROPERTY_CHARWEIGHT
72 : : ,PROPERTY_CHARWORDMODE
73 : : ,PROPERTY_CHARFLASH
74 : : ,PROPERTY_CHARAUTOKERNING
75 : : ,PROPERTY_CHARESCAPEMENTHEIGHT
76 : : ,PROPERTY_CHARLOCALE
77 : : ,PROPERTY_CHARESCAPEMENT
78 : : ,PROPERTY_CHARCASEMAP
79 : : ,PROPERTY_CHARCOMBINEISON
80 : : ,PROPERTY_CHARCOMBINEPREFIX
81 : : ,PROPERTY_CHARCOMBINESUFFIX
82 : : ,PROPERTY_CHARHIDDEN
83 : : ,PROPERTY_CHARSHADOWED
84 : : ,PROPERTY_CHARCONTOURED
85 : : ,PROPERTY_VISITEDCHARSTYLENAME
86 : : ,PROPERTY_UNVISITEDCHARSTYLENAME
87 : : ,PROPERTY_CHARKERNING
88 : : ,PROPERTY_MASTERFIELDS
89 : : ,PROPERTY_DETAILFIELDS
90 : : ,PROPERTY_PARAADJUST
91 : : , PROPERTY_CHAREMPHASISASIAN
92 : : , PROPERTY_CHARFONTNAMEASIAN
93 : : , PROPERTY_CHARFONTSTYLENAMEASIAN
94 : : , PROPERTY_CHARFONTFAMILYASIAN
95 : : , PROPERTY_CHARFONTCHARSETASIAN
96 : : , PROPERTY_CHARFONTPITCHASIAN
97 : : , PROPERTY_CHARHEIGHTASIAN
98 : : , PROPERTY_CHARUNDERLINEASIAN
99 : : , PROPERTY_CHARWEIGHTASIAN
100 : : , PROPERTY_CHARPOSTUREASIAN
101 : : , PROPERTY_CHARWORDMODEASIAN
102 : : , PROPERTY_CHARROTATIONASIAN
103 : : , PROPERTY_CHARSCALEWIDTHASIAN
104 : : , PROPERTY_CHARLOCALEASIAN
105 : : , PROPERTY_CHAREMPHASISCOMPLEX
106 : : , PROPERTY_CHARFONTNAMECOMPLEX
107 : : , PROPERTY_CHARFONTSTYLENAMECOMPLEX
108 : : , PROPERTY_CHARFONTFAMILYCOMPLEX
109 : : , PROPERTY_CHARFONTCHARSETCOMPLEX
110 : : , PROPERTY_CHARFONTPITCHCOMPLEX
111 : : , PROPERTY_CHARHEIGHTCOMPLEX
112 : : , PROPERTY_CHARUNDERLINECOMPLEX
113 : : , PROPERTY_CHARWEIGHTCOMPLEX
114 : : , PROPERTY_CHARPOSTURECOMPLEX
115 : : , PROPERTY_CHARWORDMODECOMPLEX
116 : : , PROPERTY_CHARROTATIONCOMPLEX
117 : : , PROPERTY_CHARSCALEWIDTHCOMPLEX
118 : : , PROPERTY_CHARLOCALECOMPLEX
119 : :
120 [ # # ][ # # ]: 0 : };
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
[ # # # # ]
121 [ # # ][ # # ]: 0 : return uno::Sequence< ::rtl::OUString >(pProps,sizeof(pProps)/sizeof(pProps[0]));
[ # # ]
122 : : }
123 : :
124 : : DBG_NAME( rpt_OImageControl )
125 : : // -----------------------------------------------------------------------------
126 : 0 : OImageControl::OImageControl(uno::Reference< uno::XComponentContext > const & _xContext)
127 : : :ImageControlBase(m_aMutex)
128 : : ,ImageControlPropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getImageOptionals())
129 : : ,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext)
130 : : ,m_nScaleMode(awt::ImageScaleMode::None)
131 [ # # ][ # # ]: 0 : ,m_bPreserveIRI(sal_True)
[ # # ][ # # ]
132 : : {
133 : : DBG_CTOR( rpt_OImageControl,NULL);
134 [ # # ][ # # ]: 0 : m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_IMAGECONTROL,m_aProps.aComponent.m_xContext->getServiceManager());
[ # # ]
135 : 0 : }
136 : : // -----------------------------------------------------------------------------
137 : 0 : OImageControl::OImageControl(uno::Reference< uno::XComponentContext > const & _xContext
138 : : ,const uno::Reference< lang::XMultiServiceFactory>& _xFactory
139 : : ,uno::Reference< drawing::XShape >& _xShape)
140 : : :ImageControlBase(m_aMutex)
141 : : ,ImageControlPropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getImageOptionals())
142 : : ,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext)
143 : : ,m_nScaleMode(awt::ImageScaleMode::None)
144 [ # # ][ # # ]: 0 : ,m_bPreserveIRI(sal_True)
[ # # ][ # # ]
145 : : {
146 : : DBG_CTOR( rpt_OImageControl,NULL);
147 [ # # ][ # # ]: 0 : m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_IMAGECONTROL,m_aProps.aComponent.m_xContext->getServiceManager());
[ # # ]
148 [ # # ]: 0 : m_aProps.aComponent.m_xFactory = _xFactory;
149 [ # # ]: 0 : osl_incrementInterlockedCount( &m_refCount );
150 : : {
151 [ # # ][ # # ]: 0 : m_aProps.aComponent.setShape(_xShape,this,m_refCount);
152 : : }
153 [ # # ]: 0 : osl_decrementInterlockedCount( &m_refCount );
154 : 0 : }
155 : : // -----------------------------------------------------------------------------
156 [ # # ][ # # ]: 0 : OImageControl::~OImageControl()
[ # # ]
157 : : {
158 : : DBG_DTOR( rpt_OImageControl,NULL);
159 [ # # ]: 0 : }
160 : : // -----------------------------------------------------------------------------
161 : : //IMPLEMENT_FORWARD_XINTERFACE2(OImageControl,ImageControlBase,ImageControlPropertySet)
162 : 0 : IMPLEMENT_FORWARD_REFCOUNT( OImageControl, ImageControlBase )
163 : : // --------------------------------------------------------------------------------
164 : 0 : uno::Any SAL_CALL OImageControl::queryInterface( const uno::Type& _rType ) throw (uno::RuntimeException)
165 : : {
166 [ # # ]: 0 : uno::Any aReturn = ImageControlBase::queryInterface(_rType);
167 [ # # ]: 0 : if ( !aReturn.hasValue() )
168 [ # # ]: 0 : aReturn = ImageControlPropertySet::queryInterface(_rType);
169 : :
170 [ # # ][ # # ]: 0 : if ( !aReturn.hasValue() && OReportControlModel::isInterfaceForbidden(_rType) )
[ # # ][ # # ]
171 : 0 : return aReturn;
172 : :
173 [ # # ][ # # ]: 0 : return aReturn.hasValue() ? aReturn : (m_aProps.aComponent.m_xProxy.is() ? m_aProps.aComponent.m_xProxy->queryAggregation(_rType) : aReturn);
[ # # ][ # # ]
174 : : }
175 : :
176 : : // -----------------------------------------------------------------------------
177 : 0 : void SAL_CALL OImageControl::dispose() throw(uno::RuntimeException)
178 : : {
179 : 0 : ImageControlPropertySet::dispose();
180 : 0 : cppu::WeakComponentImplHelperBase::dispose();
181 : 0 : }
182 : : // -----------------------------------------------------------------------------
183 : 0 : ::rtl::OUString OImageControl::getImplementationName_Static( ) throw(uno::RuntimeException)
184 : : {
185 : 0 : return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.report.OImageControl"));
186 : : }
187 : :
188 : : //--------------------------------------------------------------------------
189 : 0 : ::rtl::OUString SAL_CALL OImageControl::getImplementationName( ) throw(uno::RuntimeException)
190 : : {
191 : 0 : return getImplementationName_Static();
192 : : }
193 : : //--------------------------------------------------------------------------
194 : 0 : uno::Sequence< ::rtl::OUString > OImageControl::getSupportedServiceNames_Static( ) throw(uno::RuntimeException)
195 : : {
196 : 0 : uno::Sequence< ::rtl::OUString > aServices(1);
197 [ # # ][ # # ]: 0 : aServices.getArray()[0] = SERVICE_IMAGECONTROL;
198 : :
199 : 0 : return aServices;
200 : : }
201 : : //------------------------------------------------------------------------------
202 : 0 : uno::Reference< uno::XInterface > OImageControl::create(uno::Reference< uno::XComponentContext > const & xContext)
203 : : {
204 [ # # ]: 0 : return *(new OImageControl(xContext));
205 : : }
206 : :
207 : : //--------------------------------------------------------------------------
208 : 0 : uno::Sequence< ::rtl::OUString > SAL_CALL OImageControl::getSupportedServiceNames( ) throw(uno::RuntimeException)
209 : : {
210 : 0 : return getSupportedServiceNames_Static();
211 : : }
212 : : //------------------------------------------------------------------------------
213 : 0 : sal_Bool SAL_CALL OImageControl::supportsService(const ::rtl::OUString& ServiceName) throw( uno::RuntimeException )
214 : : {
215 [ # # ]: 0 : return ::comphelper::existsValue(ServiceName,getSupportedServiceNames_Static());
216 : : }
217 : : // -----------------------------------------------------------------------------
218 : : // XReportComponent
219 [ # # ][ # # ]: 0 : REPORTCOMPONENT_IMPL(OImageControl,m_aProps.aComponent)
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
220 [ # # ][ # # ]: 0 : REPORTCOMPONENT_IMPL2(OImageControl,m_aProps.aComponent)
[ # # ][ # # ]
[ # # ][ # # ]
221 [ # # ][ # # ]: 0 : REPORTCOMPONENT_NOMASTERDETAIL(OImageControl)
[ # # ][ # # ]
222 [ # # ][ # # ]: 0 : NO_REPORTCONTROLFORMAT_IMPL(OImageControl)
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ]
223 : 0 : ::rtl::OUString SAL_CALL OImageControl::getHyperLinkURL() throw (uno::RuntimeException, beans::UnknownPropertyException)
224 : : {
225 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
226 [ # # ]: 0 : return m_aProps.aFormatProperties.sHyperLinkURL;
227 : : }
228 : 0 : void SAL_CALL OImageControl::setHyperLinkURL(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)
229 : : {
230 [ # # ]: 0 : set(PROPERTY_HYPERLINKURL,the_value,m_aProps.aFormatProperties.sHyperLinkURL);
231 : 0 : }
232 : 0 : ::rtl::OUString SAL_CALL OImageControl::getHyperLinkTarget() throw (uno::RuntimeException, beans::UnknownPropertyException)
233 : : {
234 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
235 [ # # ]: 0 : return m_aProps.aFormatProperties.sHyperLinkTarget;
236 : : }
237 : 0 : void SAL_CALL OImageControl::setHyperLinkTarget(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)
238 : : {
239 [ # # ]: 0 : set(PROPERTY_HYPERLINKTARGET,the_value,m_aProps.aFormatProperties.sHyperLinkTarget);
240 : 0 : }
241 : 0 : ::rtl::OUString SAL_CALL OImageControl::getHyperLinkName() throw (uno::RuntimeException, beans::UnknownPropertyException)
242 : : {
243 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
244 [ # # ]: 0 : return m_aProps.aFormatProperties.sHyperLinkName;
245 : : }
246 : 0 : void SAL_CALL OImageControl::setHyperLinkName(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)
247 : : {
248 [ # # ]: 0 : set(PROPERTY_HYPERLINKNAME,the_value,m_aProps.aFormatProperties.sHyperLinkName);
249 : 0 : }
250 : :
251 : : // -----------------------------------------------------------------------------
252 : 0 : ::sal_Int32 SAL_CALL OImageControl::getControlBackground() throw (beans::UnknownPropertyException, uno::RuntimeException)
253 : : {
254 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
255 [ # # ][ # # ]: 0 : return m_aProps.aFormatProperties.m_bBackgroundTransparent ? COL_TRANSPARENT : m_aProps.aFormatProperties.nBackgroundColor;
256 : : }
257 : :
258 : 0 : void SAL_CALL OImageControl::setControlBackground( ::sal_Int32 _backgroundcolor ) throw (uno::RuntimeException, beans::UnknownPropertyException)
259 : : {
260 : 0 : sal_Bool bTransparent = _backgroundcolor == static_cast<sal_Int32>(COL_TRANSPARENT);
261 : 0 : setControlBackgroundTransparent(bTransparent);
262 [ # # ]: 0 : if ( !bTransparent )
263 [ # # ]: 0 : set(PROPERTY_CONTROLBACKGROUND,_backgroundcolor,m_aProps.aFormatProperties.nBackgroundColor);
264 : 0 : }
265 : :
266 : 0 : ::sal_Bool SAL_CALL OImageControl::getControlBackgroundTransparent() throw (beans::UnknownPropertyException, uno::RuntimeException)
267 : : {
268 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
269 [ # # ]: 0 : return m_aProps.aFormatProperties.m_bBackgroundTransparent;
270 : : }
271 : :
272 : 0 : void SAL_CALL OImageControl::setControlBackgroundTransparent( ::sal_Bool _controlbackgroundtransparent ) throw (beans::UnknownPropertyException, uno::RuntimeException)
273 : : {
274 [ # # ]: 0 : set(PROPERTY_CONTROLBACKGROUNDTRANSPARENT,_controlbackgroundtransparent,m_aProps.aFormatProperties.m_bBackgroundTransparent);
275 [ # # ]: 0 : if ( _controlbackgroundtransparent )
276 [ # # ][ # # ]: 0 : set(PROPERTY_CONTROLBACKGROUND,static_cast<sal_Int32>(COL_TRANSPARENT),m_aProps.aFormatProperties.nBackgroundColor);
277 : 0 : }
278 : :
279 : : // -----------------------------------------------------------------------------
280 : 0 : uno::Reference< beans::XPropertySetInfo > SAL_CALL OImageControl::getPropertySetInfo( ) throw(uno::RuntimeException)
281 : : {
282 : 0 : return ImageControlPropertySet::getPropertySetInfo();
283 : : }
284 : : // -----------------------------------------------------------------------------
285 : 0 : void SAL_CALL OImageControl::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue ) throw (beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException)
286 : : {
287 : 0 : ImageControlPropertySet::setPropertyValue( aPropertyName, aValue );
288 : 0 : }
289 : : // -----------------------------------------------------------------------------
290 : 0 : uno::Any SAL_CALL OImageControl::getPropertyValue( const ::rtl::OUString& PropertyName ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
291 : : {
292 : 0 : return ImageControlPropertySet::getPropertyValue( PropertyName);
293 : : }
294 : : // -----------------------------------------------------------------------------
295 : 0 : void SAL_CALL OImageControl::addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const uno::Reference< beans::XPropertyChangeListener >& xListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
296 : : {
297 : 0 : ImageControlPropertySet::addPropertyChangeListener( aPropertyName, xListener );
298 : 0 : }
299 : : // -----------------------------------------------------------------------------
300 : 0 : void SAL_CALL OImageControl::removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const uno::Reference< beans::XPropertyChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
301 : : {
302 : 0 : ImageControlPropertySet::removePropertyChangeListener( aPropertyName, aListener );
303 : 0 : }
304 : : // -----------------------------------------------------------------------------
305 : 0 : void SAL_CALL OImageControl::addVetoableChangeListener( const ::rtl::OUString& PropertyName, const uno::Reference< beans::XVetoableChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
306 : : {
307 : 0 : ImageControlPropertySet::addVetoableChangeListener( PropertyName, aListener );
308 : 0 : }
309 : : // -----------------------------------------------------------------------------
310 : 0 : void SAL_CALL OImageControl::removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const uno::Reference< beans::XVetoableChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException)
311 : : {
312 : 0 : ImageControlPropertySet::removeVetoableChangeListener( PropertyName, aListener );
313 : 0 : }
314 : : // -----------------------------------------------------------------------------
315 : : // XReportControlModel
316 : 0 : ::rtl::OUString SAL_CALL OImageControl::getDataField() throw ( beans::UnknownPropertyException, uno::RuntimeException)
317 : : {
318 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
319 [ # # ]: 0 : return m_aProps.aDataField;
320 : : }
321 : : // -----------------------------------------------------------------------------
322 : 0 : void SAL_CALL OImageControl::setDataField( const ::rtl::OUString& _datafield ) throw (lang::IllegalArgumentException, beans::UnknownPropertyException, uno::RuntimeException)
323 : : {
324 [ # # ]: 0 : set(PROPERTY_DATAFIELD,_datafield,m_aProps.aDataField);
325 : 0 : }
326 : : // -----------------------------------------------------------------------------
327 : : // -----------------------------------------------------------------------------
328 : 0 : ::sal_Bool SAL_CALL OImageControl::getPrintWhenGroupChange() throw (beans::UnknownPropertyException, uno::RuntimeException)
329 : : {
330 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
331 [ # # ]: 0 : return m_aProps.bPrintWhenGroupChange;
332 : : }
333 : : // -----------------------------------------------------------------------------
334 : 0 : void SAL_CALL OImageControl::setPrintWhenGroupChange( ::sal_Bool _printwhengroupchange ) throw (beans::UnknownPropertyException, uno::RuntimeException)
335 : : {
336 [ # # ]: 0 : set(PROPERTY_PRINTWHENGROUPCHANGE,_printwhengroupchange,m_aProps.bPrintWhenGroupChange);
337 : 0 : }
338 : : // -----------------------------------------------------------------------------
339 : 0 : ::rtl::OUString SAL_CALL OImageControl::getConditionalPrintExpression() throw (beans::UnknownPropertyException, uno::RuntimeException)
340 : : {
341 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
342 [ # # ]: 0 : return m_aProps.aConditionalPrintExpression;
343 : : }
344 : : // -----------------------------------------------------------------------------
345 : 0 : void SAL_CALL OImageControl::setConditionalPrintExpression( const ::rtl::OUString& _conditionalprintexpression ) throw (beans::UnknownPropertyException, uno::RuntimeException)
346 : : {
347 [ # # ]: 0 : set(PROPERTY_CONDITIONALPRINTEXPRESSION,_conditionalprintexpression,m_aProps.aConditionalPrintExpression);
348 : 0 : }
349 : :
350 : : // -----------------------------------------------------------------------------
351 : :
352 : : // XCloneable
353 : 0 : uno::Reference< util::XCloneable > SAL_CALL OImageControl::createClone( ) throw (uno::RuntimeException)
354 : : {
355 [ # # ]: 0 : uno::Reference< report::XReportComponent> xSource = this;
356 [ # # ][ # # ]: 0 : uno::Reference< report::XImageControl> xSet(cloneObject(xSource,m_aProps.aComponent.m_xFactory,SERVICE_IMAGECONTROL),uno::UNO_QUERY_THROW);
[ # # ]
357 [ # # ][ # # ]: 0 : return xSet.get();
358 : : }
359 : : // -----------------------------------------------------------------------------
360 : :
361 : : // XImageControl
362 : : // -----------------------------------------------------------------------------
363 : 0 : ::rtl::OUString SAL_CALL OImageControl::getImageURL() throw (uno::RuntimeException)
364 : : {
365 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
366 [ # # ]: 0 : return m_aImageURL;
367 : : }
368 : : // -----------------------------------------------------------------------------
369 : 0 : void SAL_CALL OImageControl::setImageURL( const ::rtl::OUString& _imageurl ) throw (uno::RuntimeException)
370 : : {
371 [ # # ]: 0 : set(PROPERTY_IMAGEURL,_imageurl,m_aImageURL);
372 : 0 : }
373 : : // -----------------------------------------------------------------------------
374 : 0 : uno::Reference< awt::XImageProducer > SAL_CALL OImageControl::getImageProducer( ) throw (uno::RuntimeException)
375 : : {
376 : 0 : return uno::Reference< awt::XImageProducer >();
377 : : }
378 : : // -----------------------------------------------------------------------------
379 : : // XChild
380 : 0 : uno::Reference< uno::XInterface > SAL_CALL OImageControl::getParent( ) throw (uno::RuntimeException)
381 : : {
382 : 0 : return OShapeHelper::getParent(this);
383 : : }
384 : : // -----------------------------------------------------------------------------
385 : 0 : void SAL_CALL OImageControl::setParent( const uno::Reference< uno::XInterface >& Parent ) throw (lang::NoSupportException, uno::RuntimeException)
386 : : {
387 : 0 : OShapeHelper::setParent(Parent,this);
388 : 0 : }
389 : 0 : uno::Reference< report::XFormatCondition > SAL_CALL OImageControl::createFormatCondition( ) throw (uno::Exception, uno::RuntimeException)
390 : : {
391 [ # # ][ # # ]: 0 : return new OFormatCondition(m_aProps.aComponent.m_xContext);
392 : : }
393 : : // -----------------------------------------------------------------------------
394 : : // XContainer
395 : 0 : void SAL_CALL OImageControl::addContainerListener( const uno::Reference< container::XContainerListener >& xListener ) throw (uno::RuntimeException)
396 : : {
397 : 0 : m_aProps.addContainerListener(xListener);
398 : 0 : }
399 : : // -----------------------------------------------------------------------------
400 : 0 : void SAL_CALL OImageControl::removeContainerListener( const uno::Reference< container::XContainerListener >& xListener ) throw (uno::RuntimeException)
401 : : {
402 : 0 : m_aProps.removeContainerListener(xListener);
403 : 0 : }
404 : : // -----------------------------------------------------------------------------
405 : : // XElementAccess
406 : 0 : uno::Type SAL_CALL OImageControl::getElementType( ) throw (uno::RuntimeException)
407 : : {
408 : 0 : return ::getCppuType(static_cast< uno::Reference<report::XFormatCondition>*>(NULL));
409 : : }
410 : : // -----------------------------------------------------------------------------
411 : 0 : ::sal_Bool SAL_CALL OImageControl::hasElements( ) throw (uno::RuntimeException)
412 : : {
413 : 0 : return m_aProps.hasElements();
414 : : }
415 : : // -----------------------------------------------------------------------------
416 : : // XIndexContainer
417 : 0 : void SAL_CALL OImageControl::insertByIndex( ::sal_Int32 Index, const uno::Any& Element ) throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
418 : : {
419 : 0 : m_aProps.insertByIndex(Index,Element);
420 : 0 : }
421 : : // -----------------------------------------------------------------------------
422 : 0 : void SAL_CALL OImageControl::removeByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
423 : : {
424 : 0 : m_aProps.removeByIndex(Index);
425 : 0 : }
426 : : // -----------------------------------------------------------------------------
427 : : // XIndexReplace
428 : 0 : void SAL_CALL OImageControl::replaceByIndex( ::sal_Int32 Index, const uno::Any& Element ) throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
429 : : {
430 : 0 : m_aProps.replaceByIndex(Index,Element);
431 : 0 : }
432 : : // -----------------------------------------------------------------------------
433 : : // XIndexAccess
434 : 0 : ::sal_Int32 SAL_CALL OImageControl::getCount( ) throw (uno::RuntimeException)
435 : : {
436 : 0 : return m_aProps.getCount();
437 : : }
438 : : // -----------------------------------------------------------------------------
439 : 0 : uno::Any SAL_CALL OImageControl::getByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException)
440 : : {
441 : 0 : return m_aProps.getByIndex( Index );
442 : : }
443 : : // -----------------------------------------------------------------------------
444 : : // -----------------------------------------------------------------------------
445 : : // XShape
446 : 0 : awt::Point SAL_CALL OImageControl::getPosition( ) throw (uno::RuntimeException)
447 : : {
448 : 0 : return OShapeHelper::getPosition(this);
449 : : }
450 : : // -----------------------------------------------------------------------------
451 : 0 : void SAL_CALL OImageControl::setPosition( const awt::Point& aPosition ) throw (uno::RuntimeException)
452 : : {
453 : 0 : OShapeHelper::setPosition(aPosition,this);
454 : 0 : }
455 : : // -----------------------------------------------------------------------------
456 : 0 : awt::Size SAL_CALL OImageControl::getSize( ) throw (uno::RuntimeException)
457 : : {
458 : 0 : return OShapeHelper::getSize(this);
459 : : }
460 : : // -----------------------------------------------------------------------------
461 : 0 : void SAL_CALL OImageControl::setSize( const awt::Size& aSize ) throw (beans::PropertyVetoException, uno::RuntimeException)
462 : : {
463 : 0 : OShapeHelper::setSize(aSize,this);
464 : 0 : }
465 : : // -----------------------------------------------------------------------------
466 : :
467 : : // XShapeDescriptor
468 : 0 : ::rtl::OUString SAL_CALL OImageControl::getShapeType( ) throw (uno::RuntimeException)
469 : : {
470 : 0 : return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.ControlShape"));
471 : : }
472 : : // -----------------------------------------------------------------------------
473 : 0 : ::sal_Int16 SAL_CALL OImageControl::getScaleMode() throw (uno::RuntimeException)
474 : : {
475 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
476 [ # # ]: 0 : return m_nScaleMode;
477 : : }
478 : : // -----------------------------------------------------------------------------
479 : 0 : void SAL_CALL OImageControl::setScaleMode( ::sal_Int16 _scalemode ) throw (lang::IllegalArgumentException, uno::RuntimeException)
480 : : {
481 [ # # ][ # # ]: 0 : if ( _scalemode < awt::ImageScaleMode::None ||_scalemode > awt::ImageScaleMode::Anisotropic )
482 [ # # ]: 0 : throw lang::IllegalArgumentException();
483 [ # # ]: 0 : set(PROPERTY_SCALEMODE,_scalemode,m_nScaleMode);
484 : 0 : }
485 : : // -----------------------------------------------------------------------------
486 : 0 : ::sal_Bool SAL_CALL OImageControl::getPreserveIRI() throw (uno::RuntimeException)
487 : : {
488 [ # # ]: 0 : ::osl::MutexGuard aGuard(m_aMutex);
489 [ # # ]: 0 : return m_bPreserveIRI;
490 : : }
491 : : // -----------------------------------------------------------------------------
492 : 0 : void SAL_CALL OImageControl::setPreserveIRI( ::sal_Bool _preserveiri ) throw (uno::RuntimeException)
493 : : {
494 [ # # ]: 0 : set(PROPERTY_PRESERVEIRI,_preserveiri,m_bPreserveIRI);
495 : 0 : }
496 : : // =============================================================================
497 : : } // namespace reportdesign
498 : : // =============================================================================
499 : :
500 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|