1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #include "FixedLine.hxx" 24 #include <com/sun/star/beans/PropertyAttribute.hpp> 25 #ifndef REPORTDESIGN_SHARED_CORESTRINGS_HRC 26 #include "corestrings.hrc" 27 #endif 28 #ifndef REPORTDESIGN_CORE_RESOURCE_HRC_ 29 #include "core_resource.hrc" 30 #endif 31 #include "core_resource.hxx" 32 #include <comphelper/sequence.hxx> 33 #include <tools/debug.hxx> 34 #include <comphelper/property.hxx> 35 #include "Tools.hxx" 36 #include "FormatCondition.hxx" 37 #include <com/sun/star/beans/XPropertyState.hpp> 38 #include <com/sun/star/text/ParagraphVertAlign.hpp> 39 #include <boost/bind.hpp> 40 #include "ReportHelperImpl.hxx" 41 42 #define MIN_WIDTH 80 43 #define MIN_HEIGHT 20 44 // ============================================================================= 45 namespace reportdesign 46 { 47 // ============================================================================= 48 using namespace com::sun::star; 49 using namespace comphelper; 50 uno::Sequence< ::rtl::OUString > lcl_getLineOptionals() 51 { 52 ::rtl::OUString pProps[] = { 53 PROPERTY_DATAFIELD 54 ,PROPERTY_DEFAULTCONTROL 55 ,PROPERTY_CONTROLBORDER 56 ,PROPERTY_CONTROLBORDERCOLOR 57 ,PROPERTY_CHARCOLOR 58 ,PROPERTY_CHAREMPHASIS 59 ,PROPERTY_CHARFONTCHARSET 60 ,PROPERTY_CHARFONTFAMILY 61 ,PROPERTY_CHARFONTNAME 62 ,PROPERTY_CHARFONTPITCH 63 ,PROPERTY_CHARFONTSTYLENAME 64 ,PROPERTY_CHARHEIGHT 65 ,PROPERTY_CHARPOSTURE 66 ,PROPERTY_CHARRELIEF 67 ,PROPERTY_FONTDESCRIPTOR 68 ,PROPERTY_FONTDESCRIPTORASIAN 69 ,PROPERTY_FONTDESCRIPTORCOMPLEX 70 ,PROPERTY_CONTROLTEXTEMPHASISMARK 71 ,PROPERTY_CHARROTATION 72 ,PROPERTY_CHARSCALEWIDTH 73 ,PROPERTY_CHARSTRIKEOUT 74 ,PROPERTY_CHARUNDERLINECOLOR 75 ,PROPERTY_CHARUNDERLINE 76 ,PROPERTY_CHARWEIGHT 77 ,PROPERTY_CHARWORDMODE 78 ,PROPERTY_CONTROLBACKGROUND 79 ,PROPERTY_CONTROLBACKGROUNDTRANSPARENT 80 ,PROPERTY_CHARFLASH 81 ,PROPERTY_CHARAUTOKERNING 82 ,PROPERTY_CHARESCAPEMENTHEIGHT 83 ,PROPERTY_CHARLOCALE 84 ,PROPERTY_CHARESCAPEMENT 85 ,PROPERTY_CHARCASEMAP 86 ,PROPERTY_CHARCOMBINEISON 87 ,PROPERTY_CHARCOMBINEPREFIX 88 ,PROPERTY_CHARCOMBINESUFFIX 89 ,PROPERTY_CHARHIDDEN 90 ,PROPERTY_CHARSHADOWED 91 ,PROPERTY_CHARCONTOURED 92 ,PROPERTY_HYPERLINKURL 93 ,PROPERTY_HYPERLINKTARGET 94 ,PROPERTY_HYPERLINKNAME 95 ,PROPERTY_VISITEDCHARSTYLENAME 96 ,PROPERTY_UNVISITEDCHARSTYLENAME 97 ,PROPERTY_CHARKERNING 98 ,PROPERTY_PRINTREPEATEDVALUES 99 ,PROPERTY_CONDITIONALPRINTEXPRESSION 100 ,PROPERTY_PRINTWHENGROUPCHANGE 101 ,PROPERTY_MASTERFIELDS 102 ,PROPERTY_DETAILFIELDS 103 ,PROPERTY_PARAADJUST 104 105 , PROPERTY_CHAREMPHASISASIAN 106 , PROPERTY_CHARFONTNAMEASIAN 107 , PROPERTY_CHARFONTSTYLENAMEASIAN 108 , PROPERTY_CHARFONTFAMILYASIAN 109 , PROPERTY_CHARFONTCHARSETASIAN 110 , PROPERTY_CHARFONTPITCHASIAN 111 , PROPERTY_CHARHEIGHTASIAN 112 , PROPERTY_CHARUNDERLINEASIAN 113 , PROPERTY_CHARWEIGHTASIAN 114 , PROPERTY_CHARPOSTUREASIAN 115 , PROPERTY_CHARWORDMODEASIAN 116 , PROPERTY_CHARROTATIONASIAN 117 , PROPERTY_CHARSCALEWIDTHASIAN 118 , PROPERTY_CHARLOCALEASIAN 119 , PROPERTY_CHAREMPHASISCOMPLEX 120 , PROPERTY_CHARFONTNAMECOMPLEX 121 , PROPERTY_CHARFONTSTYLENAMECOMPLEX 122 , PROPERTY_CHARFONTFAMILYCOMPLEX 123 , PROPERTY_CHARFONTCHARSETCOMPLEX 124 , PROPERTY_CHARFONTPITCHCOMPLEX 125 , PROPERTY_CHARHEIGHTCOMPLEX 126 , PROPERTY_CHARUNDERLINECOMPLEX 127 , PROPERTY_CHARWEIGHTCOMPLEX 128 , PROPERTY_CHARPOSTURECOMPLEX 129 , PROPERTY_CHARWORDMODECOMPLEX 130 , PROPERTY_CHARROTATIONCOMPLEX 131 , PROPERTY_CHARSCALEWIDTHCOMPLEX 132 , PROPERTY_CHARLOCALECOMPLEX 133 134 135 }; 136 return uno::Sequence< ::rtl::OUString >(pProps,sizeof(pProps)/sizeof(pProps[0])); 137 } 138 DBG_NAME(rpt_OFixedLine) 139 // ----------------------------------------------------------------------------- 140 OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContext) 141 :FixedLineBase(m_aMutex) 142 ,FixedLinePropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getLineOptionals()) 143 ,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext) 144 ,m_nOrientation(1) 145 ,m_LineColor(0) 146 ,m_LineTransparence(0) 147 ,m_LineWidth(0) 148 { 149 DBG_CTOR(rpt_OFixedLine,NULL); 150 m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager()); 151 m_aProps.aComponent.m_nWidth = MIN_WIDTH; 152 } 153 // ----------------------------------------------------------------------------- 154 OFixedLine::OFixedLine(uno::Reference< uno::XComponentContext > const & _xContext 155 ,const uno::Reference< lang::XMultiServiceFactory>& _xFactory 156 ,uno::Reference< drawing::XShape >& _xShape 157 ,sal_Int32 _nOrientation) 158 :FixedLineBase(m_aMutex) 159 ,FixedLinePropertySet(_xContext,static_cast< Implements >(IMPLEMENTS_PROPERTY_SET),lcl_getLineOptionals()) 160 ,m_aProps(m_aMutex,static_cast< container::XContainer*>( this ),_xContext) 161 ,m_nOrientation(_nOrientation) 162 ,m_LineColor(0) 163 ,m_LineTransparence(0) 164 ,m_LineWidth(0) 165 { 166 DBG_CTOR(rpt_OFixedLine,NULL); 167 m_aProps.aComponent.m_sName = RPT_RESSTRING(RID_STR_FIXEDLINE,m_aProps.aComponent.m_xContext->getServiceManager()); 168 m_aProps.aComponent.m_xFactory = _xFactory; 169 osl_incrementInterlockedCount( &m_refCount ); 170 try 171 { 172 awt::Size aSize = _xShape->getSize(); 173 if ( m_nOrientation == 1 ) 174 { 175 if ( aSize.Width < MIN_WIDTH ) 176 { 177 aSize.Width = MIN_WIDTH; 178 _xShape->setSize(aSize); 179 } 180 } 181 else if ( MIN_HEIGHT > aSize.Height ) 182 { 183 aSize.Height = MIN_HEIGHT; 184 _xShape->setSize(aSize); 185 } 186 m_aProps.aComponent.setShape(_xShape,this,m_refCount); 187 } 188 catch(uno::Exception&) 189 { 190 OSL_ENSURE(0,"OFixedLine::OFixedLine: Exception caught!"); 191 } 192 osl_decrementInterlockedCount( &m_refCount ); 193 } 194 // ----------------------------------------------------------------------------- 195 OFixedLine::~OFixedLine() 196 { 197 DBG_DTOR(rpt_OFixedLine,NULL); 198 } 199 // ----------------------------------------------------------------------------- 200 //IMPLEMENT_FORWARD_XINTERFACE2(OFixedLine,FixedLineBase,FixedLinePropertySet) 201 IMPLEMENT_FORWARD_REFCOUNT( OFixedLine, FixedLineBase ) 202 // -------------------------------------------------------------------------------- 203 uno::Any SAL_CALL OFixedLine::queryInterface( const uno::Type& _rType ) throw (uno::RuntimeException) 204 { 205 uno::Any aReturn = FixedLineBase::queryInterface(_rType); 206 if ( !aReturn.hasValue() ) 207 aReturn = FixedLinePropertySet::queryInterface(_rType); 208 if ( !aReturn.hasValue() && OReportControlModel::isInterfaceForbidden(_rType) ) 209 return aReturn; 210 211 return aReturn.hasValue() ? aReturn : (m_aProps.aComponent.m_xProxy.is() ? m_aProps.aComponent.m_xProxy->queryAggregation(_rType) : aReturn); 212 } 213 // ----------------------------------------------------------------------------- 214 void SAL_CALL OFixedLine::dispose() throw(uno::RuntimeException) 215 { 216 FixedLinePropertySet::dispose(); 217 cppu::WeakComponentImplHelperBase::dispose(); 218 } 219 // ----------------------------------------------------------------------------- 220 ::rtl::OUString OFixedLine::getImplementationName_Static( ) throw(uno::RuntimeException) 221 { 222 return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.report.OFixedLine")); 223 } 224 225 //-------------------------------------------------------------------------- 226 ::rtl::OUString SAL_CALL OFixedLine::getImplementationName( ) throw(uno::RuntimeException) 227 { 228 return getImplementationName_Static(); 229 } 230 //-------------------------------------------------------------------------- 231 uno::Sequence< ::rtl::OUString > OFixedLine::getSupportedServiceNames_Static( ) throw(uno::RuntimeException) 232 { 233 uno::Sequence< ::rtl::OUString > aServices(1); 234 aServices.getArray()[0] = SERVICE_FIXEDLINE; 235 236 return aServices; 237 } 238 //------------------------------------------------------------------------------ 239 uno::Reference< uno::XInterface > OFixedLine::create(uno::Reference< uno::XComponentContext > const & xContext) 240 { 241 return *(new OFixedLine(xContext)); 242 } 243 244 //-------------------------------------------------------------------------- 245 uno::Sequence< ::rtl::OUString > SAL_CALL OFixedLine::getSupportedServiceNames( ) throw(uno::RuntimeException) 246 { 247 return getSupportedServiceNames_Static(); 248 } 249 //------------------------------------------------------------------------------ 250 sal_Bool SAL_CALL OFixedLine::supportsService(const ::rtl::OUString& ServiceName) throw( uno::RuntimeException ) 251 { 252 return ::comphelper::existsValue(ServiceName,getSupportedServiceNames_Static()); 253 } 254 // ----------------------------------------------------------------------------- 255 // XReportComponent 256 REPORTCOMPONENT_IMPL3(OFixedLine,m_aProps.aComponent) 257 REPORTCOMPONENT_NOMASTERDETAIL(OFixedLine) 258 // ----------------------------------------------------------------------------- 259 ::sal_Int16 SAL_CALL OFixedLine::getControlBorder( ) throw (beans::UnknownPropertyException, uno::RuntimeException) 260 { 261 throw beans::UnknownPropertyException(); 262 } 263 // ----------------------------------------------------------------------------- 264 void SAL_CALL OFixedLine::setControlBorder( ::sal_Int16 /*_border*/ ) throw (lang::IllegalArgumentException, beans::UnknownPropertyException, uno::RuntimeException) 265 { 266 throw beans::UnknownPropertyException(); 267 } 268 // ----------------------------------------------------------------------------- 269 ::sal_Int32 SAL_CALL OFixedLine::getControlBorderColor() throw (beans::UnknownPropertyException,uno::RuntimeException) 270 { 271 throw beans::UnknownPropertyException(); 272 } 273 // ----------------------------------------------------------------------------- 274 void SAL_CALL OFixedLine::setControlBorderColor( ::sal_Int32 /*_bordercolor*/ ) throw (beans::UnknownPropertyException,lang::IllegalArgumentException,uno::RuntimeException) 275 { 276 throw beans::UnknownPropertyException(); 277 } 278 // ----------------------------------------------------------------------------- 279 uno::Reference< beans::XPropertySetInfo > SAL_CALL OFixedLine::getPropertySetInfo( ) throw(uno::RuntimeException) 280 { 281 return FixedLinePropertySet::getPropertySetInfo(); 282 } 283 // ----------------------------------------------------------------------------- 284 void SAL_CALL OFixedLine::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue ) throw (beans::UnknownPropertyException, beans::PropertyVetoException, lang::IllegalArgumentException, lang::WrappedTargetException, uno::RuntimeException) 285 { 286 FixedLinePropertySet::setPropertyValue( aPropertyName, aValue ); 287 } 288 // ----------------------------------------------------------------------------- 289 uno::Any SAL_CALL OFixedLine::getPropertyValue( const ::rtl::OUString& PropertyName ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException) 290 { 291 return FixedLinePropertySet::getPropertyValue( PropertyName); 292 } 293 // ----------------------------------------------------------------------------- 294 void SAL_CALL OFixedLine::addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const uno::Reference< beans::XPropertyChangeListener >& xListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException) 295 { 296 FixedLinePropertySet::addPropertyChangeListener( aPropertyName, xListener ); 297 } 298 // ----------------------------------------------------------------------------- 299 void SAL_CALL OFixedLine::removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const uno::Reference< beans::XPropertyChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException) 300 { 301 FixedLinePropertySet::removePropertyChangeListener( aPropertyName, aListener ); 302 } 303 // ----------------------------------------------------------------------------- 304 void SAL_CALL OFixedLine::addVetoableChangeListener( const ::rtl::OUString& PropertyName, const uno::Reference< beans::XVetoableChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException) 305 { 306 FixedLinePropertySet::addVetoableChangeListener( PropertyName, aListener ); 307 } 308 // ----------------------------------------------------------------------------- 309 void SAL_CALL OFixedLine::removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const uno::Reference< beans::XVetoableChangeListener >& aListener ) throw (beans::UnknownPropertyException, lang::WrappedTargetException, uno::RuntimeException) 310 { 311 FixedLinePropertySet::removeVetoableChangeListener( PropertyName, aListener ); 312 } 313 // ----------------------------------------------------------------------------- 314 // XReportControlModel 315 ::rtl::OUString SAL_CALL OFixedLine::getDataField() throw (beans::UnknownPropertyException, uno::RuntimeException) 316 { 317 throw beans::UnknownPropertyException(); 318 } 319 // ----------------------------------------------------------------------------- 320 void SAL_CALL OFixedLine::setDataField( const ::rtl::OUString& /*_datafield*/ ) throw (lang::IllegalArgumentException, beans::UnknownPropertyException, uno::RuntimeException) 321 { 322 throw beans::UnknownPropertyException(); 323 } 324 // ----------------------------------------------------------------------------- 325 ::sal_Int32 SAL_CALL OFixedLine::getControlBackground() throw (beans::UnknownPropertyException, uno::RuntimeException) 326 { 327 throw beans::UnknownPropertyException(); 328 } 329 // ----------------------------------------------------------------------------- 330 void SAL_CALL OFixedLine::setControlBackground( ::sal_Int32 /*_backgroundcolor*/ ) throw (uno::RuntimeException,beans::UnknownPropertyException) 331 { 332 throw beans::UnknownPropertyException(); 333 } 334 // ----------------------------------------------------------------------------- 335 ::sal_Bool SAL_CALL OFixedLine::getControlBackgroundTransparent() throw (beans::UnknownPropertyException, uno::RuntimeException) 336 { 337 throw beans::UnknownPropertyException(); 338 } 339 // ----------------------------------------------------------------------------- 340 void SAL_CALL OFixedLine::setControlBackgroundTransparent( ::sal_Bool /*_controlbackgroundtransparent*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException) 341 { 342 throw beans::UnknownPropertyException(); 343 } 344 // ----------------------------------------------------------------------------- 345 ::sal_Bool SAL_CALL OFixedLine::getPrintWhenGroupChange() throw (beans::UnknownPropertyException, uno::RuntimeException) 346 { 347 throw beans::UnknownPropertyException(); 348 } 349 // ----------------------------------------------------------------------------- 350 void SAL_CALL OFixedLine::setPrintWhenGroupChange( ::sal_Bool /*_printwhengroupchange*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException) 351 { 352 throw beans::UnknownPropertyException(); 353 } 354 // ----------------------------------------------------------------------------- 355 ::rtl::OUString SAL_CALL OFixedLine::getConditionalPrintExpression() throw (beans::UnknownPropertyException, uno::RuntimeException) 356 { 357 throw beans::UnknownPropertyException(); 358 } 359 // ----------------------------------------------------------------------------- 360 void SAL_CALL OFixedLine::setConditionalPrintExpression( const ::rtl::OUString& /*_conditionalprintexpression*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException) 361 { 362 throw beans::UnknownPropertyException(); 363 } 364 // ----------------------------------------------------------------------------- 365 // XCloneable 366 uno::Reference< util::XCloneable > SAL_CALL OFixedLine::createClone( ) throw (uno::RuntimeException) 367 { 368 uno::Reference< report::XReportComponent> xSource = this; 369 uno::Reference< report::XFixedLine> xSet(cloneObject(xSource,m_aProps.aComponent.m_xFactory,SERVICE_FIXEDLINE),uno::UNO_QUERY_THROW); 370 return xSet.get(); 371 } 372 // ----------------------------------------------------------------------------- 373 374 // XFixedLine 375 // ----------------------------------------------------------------------------- 376 ::sal_Int32 SAL_CALL OFixedLine::getOrientation() throw (beans::UnknownPropertyException,uno::RuntimeException) 377 { 378 ::osl::MutexGuard aGuard(m_aMutex); 379 return m_nOrientation; 380 } 381 // ----------------------------------------------------------------------------- 382 void SAL_CALL OFixedLine::setOrientation( ::sal_Int32 _orientation ) throw (beans::UnknownPropertyException,uno::RuntimeException) 383 { 384 set(PROPERTY_ORIENTATION,_orientation,m_nOrientation); 385 } 386 // ----------------------------------------------------------------------------- 387 drawing::LineStyle SAL_CALL OFixedLine::getLineStyle() throw (uno::RuntimeException) 388 { 389 ::osl::MutexGuard aGuard(m_aMutex); 390 return m_LineStyle; 391 } 392 // ----------------------------------------------------------------------------- 393 void SAL_CALL OFixedLine::setLineStyle( drawing::LineStyle _linestyle ) throw (uno::RuntimeException) 394 { 395 set(PROPERTY_LINESTYLE,_linestyle,m_LineStyle); 396 } 397 // ----------------------------------------------------------------------------- 398 drawing::LineDash SAL_CALL OFixedLine::getLineDash() throw (uno::RuntimeException) 399 { 400 ::osl::MutexGuard aGuard(m_aMutex); 401 return m_LineDash; 402 } 403 // ----------------------------------------------------------------------------- 404 void SAL_CALL OFixedLine::setLineDash( const drawing::LineDash& _linedash ) throw (uno::RuntimeException) 405 { 406 set(PROPERTY_LINEDASH,_linedash,m_LineDash); 407 } 408 // ----------------------------------------------------------------------------- 409 ::sal_Int32 SAL_CALL OFixedLine::getLineColor() throw (uno::RuntimeException) 410 { 411 ::osl::MutexGuard aGuard(m_aMutex); 412 return m_LineColor; 413 } 414 // ----------------------------------------------------------------------------- 415 void SAL_CALL OFixedLine::setLineColor( ::sal_Int32 _linecolor ) throw (uno::RuntimeException) 416 { 417 set(PROPERTY_LINECOLOR,_linecolor,m_LineColor); 418 } 419 // ----------------------------------------------------------------------------- 420 ::sal_Int16 SAL_CALL OFixedLine::getLineTransparence() throw (uno::RuntimeException) 421 { 422 ::osl::MutexGuard aGuard(m_aMutex); 423 return m_LineTransparence; 424 } 425 // ----------------------------------------------------------------------------- 426 void SAL_CALL OFixedLine::setLineTransparence( ::sal_Int16 _linetransparence ) throw (uno::RuntimeException) 427 { 428 set(PROPERTY_LINETRANSPARENCE,_linetransparence,m_LineTransparence); 429 } 430 // ----------------------------------------------------------------------------- 431 ::sal_Int32 SAL_CALL OFixedLine::getLineWidth() throw (uno::RuntimeException) 432 { 433 ::osl::MutexGuard aGuard(m_aMutex); 434 return m_LineWidth; 435 } 436 // ----------------------------------------------------------------------------- 437 void SAL_CALL OFixedLine::setLineWidth( ::sal_Int32 _linewidth ) throw (uno::RuntimeException) 438 { 439 set(PROPERTY_LINEWIDTH,_linewidth,m_LineWidth); 440 } 441 // ----------------------------------------------------------------------------- 442 // ----------------------------------------------------------------------------- 443 // XChild 444 uno::Reference< uno::XInterface > SAL_CALL OFixedLine::getParent( ) throw (uno::RuntimeException) 445 { 446 return OShapeHelper::getParent(this); 447 } 448 // ----------------------------------------------------------------------------- 449 void SAL_CALL OFixedLine::setParent( const uno::Reference< uno::XInterface >& Parent ) throw (lang::NoSupportException, uno::RuntimeException) 450 { 451 OShapeHelper::setParent(Parent,this); 452 } 453 // ----------------------------------------------------------------------------- 454 uno::Reference< report::XFormatCondition > SAL_CALL OFixedLine::createFormatCondition( ) throw (uno::Exception, uno::RuntimeException) 455 { 456 return new OFormatCondition(m_aProps.aComponent.m_xContext); 457 } 458 // ----------------------------------------------------------------------------- 459 // XContainer 460 void SAL_CALL OFixedLine::addContainerListener( const uno::Reference< container::XContainerListener >& xListener ) throw (uno::RuntimeException) 461 { 462 m_aProps.addContainerListener(xListener); 463 } 464 // ----------------------------------------------------------------------------- 465 void SAL_CALL OFixedLine::removeContainerListener( const uno::Reference< container::XContainerListener >& xListener ) throw (uno::RuntimeException) 466 { 467 m_aProps.removeContainerListener(xListener); 468 } 469 // ----------------------------------------------------------------------------- 470 // XElementAccess 471 uno::Type SAL_CALL OFixedLine::getElementType( ) throw (uno::RuntimeException) 472 { 473 return ::getCppuType(static_cast< uno::Reference<report::XFormatCondition>*>(NULL)); 474 } 475 // ----------------------------------------------------------------------------- 476 ::sal_Bool SAL_CALL OFixedLine::hasElements( ) throw (uno::RuntimeException) 477 { 478 return m_aProps.hasElements(); 479 } 480 // ----------------------------------------------------------------------------- 481 // XIndexContainer 482 void SAL_CALL OFixedLine::insertByIndex( ::sal_Int32 Index, const uno::Any& Element ) throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException) 483 { 484 m_aProps.insertByIndex(Index,Element); 485 } 486 // ----------------------------------------------------------------------------- 487 void SAL_CALL OFixedLine::removeByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException) 488 { 489 m_aProps.removeByIndex(Index); 490 } 491 // ----------------------------------------------------------------------------- 492 // XIndexReplace 493 void SAL_CALL OFixedLine::replaceByIndex( ::sal_Int32 Index, const uno::Any& Element ) throw (lang::IllegalArgumentException, lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException) 494 { 495 m_aProps.replaceByIndex(Index,Element); 496 } 497 // ----------------------------------------------------------------------------- 498 // XIndexAccess 499 ::sal_Int32 SAL_CALL OFixedLine::getCount( ) throw (uno::RuntimeException) 500 { 501 return m_aProps.getCount(); 502 } 503 // ----------------------------------------------------------------------------- 504 uno::Any SAL_CALL OFixedLine::getByIndex( ::sal_Int32 Index ) throw (lang::IndexOutOfBoundsException, lang::WrappedTargetException, uno::RuntimeException) 505 { 506 return m_aProps.getByIndex( Index ); 507 } 508 // ----------------------------------------------------------------------------- 509 // XShape 510 awt::Point SAL_CALL OFixedLine::getPosition( ) throw (uno::RuntimeException) 511 { 512 return OShapeHelper::getPosition(this); 513 } 514 // ----------------------------------------------------------------------------- 515 void SAL_CALL OFixedLine::setPosition( const awt::Point& aPosition ) throw (uno::RuntimeException) 516 { 517 OShapeHelper::setPosition(aPosition,this); 518 } 519 // ----------------------------------------------------------------------------- 520 awt::Size SAL_CALL OFixedLine::getSize( ) throw (uno::RuntimeException) 521 { 522 return OShapeHelper::getSize(this); 523 } 524 // ----------------------------------------------------------------------------- 525 void SAL_CALL OFixedLine::setSize( const awt::Size& aSize ) throw (beans::PropertyVetoException, uno::RuntimeException) 526 { 527 if ( (aSize.Width < MIN_WIDTH && m_nOrientation == 1) || (aSize.Height < MIN_HEIGHT && m_nOrientation == 0) ) 528 throw beans::PropertyVetoException(); 529 OShapeHelper::setSize(aSize,this); 530 } 531 // ----------------------------------------------------------------------------- 532 // XShapeDescriptor 533 ::rtl::OUString SAL_CALL OFixedLine::getShapeType( ) throw (uno::RuntimeException) 534 { 535 return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.ControlShape")); 536 } 537 // ----------------------------------------------------------------------------- 538 ::rtl::OUString SAL_CALL OFixedLine::getHyperLinkURL() throw (uno::RuntimeException, beans::UnknownPropertyException) 539 { 540 throw beans::UnknownPropertyException(); 541 } 542 void SAL_CALL OFixedLine::setHyperLinkURL(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) 543 { 544 throw beans::UnknownPropertyException(); 545 } 546 ::rtl::OUString SAL_CALL OFixedLine::getHyperLinkTarget() throw (uno::RuntimeException, beans::UnknownPropertyException) 547 { 548 throw beans::UnknownPropertyException(); 549 } 550 void SAL_CALL OFixedLine::setHyperLinkTarget(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) 551 { 552 throw beans::UnknownPropertyException(); 553 } 554 ::rtl::OUString SAL_CALL OFixedLine::getHyperLinkName() throw (uno::RuntimeException, beans::UnknownPropertyException) 555 { 556 throw beans::UnknownPropertyException(); 557 } 558 void SAL_CALL OFixedLine::setHyperLinkName(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) 559 { 560 throw beans::UnknownPropertyException(); 561 } 562 563 NO_REPORTCONTROLFORMAT_IMPL(OFixedLine) 564 565 ::sal_Bool SAL_CALL OFixedLine::getPrintRepeatedValues() throw (beans::UnknownPropertyException, uno::RuntimeException) 566 { 567 throw beans::UnknownPropertyException(); 568 } 569 void SAL_CALL OFixedLine::setPrintRepeatedValues( ::sal_Bool /*_printrepeatedvalues*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException) 570 { 571 throw beans::UnknownPropertyException(); 572 } 573 574 // ----------------------------------------------------------------------------- 575 // ============================================================================= 576 } // namespace reportdesign 577 // ============================================================================= 578 579