User: hr Date: 2007-08-02 14:30:19+0000 Modified: dba/reportdesign/source/core/api/ReportDefinition.cxx
Log: INTEGRATION: CWS rpt23fix01 (1.2.2); FILE MERGED 2007/07/11 10:31:00 oj 1.2.2.1: #i78377# reportdefinition now is a numberformatssupplier as ell File Changes: Directory: /dba/reportdesign/source/core/api/ ============================================= File [changed]: ReportDefinition.cxx Url: http://dba.openoffice.org/source/browse/dba/reportdesign/source/core/api/ReportDefinition.cxx?r1=1.2&r2=1.3 Delta lines: +33 -5 -------------------- --- ReportDefinition.cxx 2007-07-09 11:56:14+0000 1.2 +++ ReportDefinition.cxx 2007-08-02 14:30:16+0000 1.3 @@ -1397,13 +1397,21 @@ { uno::Sequence<beans::PropertyValue> aComponentData; aComponentData = _aDescriptor.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ComponentData")),aComponentData); - if ( aComponentData.getLength() ) + if ( aComponentData.getLength() && !m_pImpl->m_xNumberFormatsSupplier.is() ) { ::comphelper::SequenceAsHashMap aComponentDataMap( aComponentData ); uno::Reference<sdbc::XConnection> xConnection; xConnection = aComponentDataMap.getUnpackedValueOrDefault(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ActiveConnection")),xConnection); m_pImpl->m_xNumberFormatsSupplier = dbtools::getNumberFormats(xConnection); } + if ( !m_pImpl->m_xNumberFormatsSupplier.is() ) + { + m_pImpl->m_xNumberFormatsSupplier.set( + m_aProps->m_xContext->getServiceManager()->createInstanceWithContext( + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.NumberFormatsSupplier")) ,m_aProps->m_xContext), + uno::UNO_QUERY_THROW + ); + } lcl_stripLoadArguments( _aDescriptor, m_pImpl->m_aArgs ); } // ----------------------------------------------------------------------------- @@ -2045,6 +2053,12 @@ { if (rId.getLength() == 16 && 0 == rtl_compareMemory(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16 ) ) return reinterpret_cast<sal_Int64>(this); + else + { + uno::Reference< lang::XUnoTunnel> xUnoTunnel(m_pImpl->m_xNumberFormatsSupplier,uno::UNO_QUERY); + if ( xUnoTunnel.is() ) + return xUnoTunnel->getSomething(rId); + } return 0; } @@ -2111,7 +2125,7 @@ xReportComponent = xProp; if ( xShape.is() ) throw uno::Exception(); - xProp->setPropertyValue( PROPERTY_FORMATSSUPPLIER, uno::makeAny(m_pImpl->m_xNumberFormatsSupplier) ); + xProp->setPropertyValue( PROPERTY_FORMATSSUPPLIER, uno::makeAny(uno::Reference< util::XNumberFormatsSupplier >(*this,uno::UNO_QUERY)) ); } else if ( aServiceSpecifier == SERVICE_FIXEDTEXT) { @@ -2449,6 +2463,20 @@ m_pImpl->m_sIdentifier = Identifier; } // ----------------------------------------------------------------------------- +// XNumberFormatsSupplier +uno::Reference< beans::XPropertySet > SAL_CALL OReportDefinition::getNumberFormatSettings( ) throw (uno::RuntimeException) +{ + if ( m_pImpl->m_xNumberFormatsSupplier.is() ) + return m_pImpl->m_xNumberFormatsSupplier->getNumberFormatSettings(); + return uno::Reference< beans::XPropertySet >(); +} +// ----------------------------------------------------------------------------- +uno::Reference< util::XNumberFormats > SAL_CALL OReportDefinition::getNumberFormats( ) throw (uno::RuntimeException) +{ + if ( m_pImpl->m_xNumberFormatsSupplier.is() ) + return m_pImpl->m_xNumberFormatsSupplier->getNumberFormats(); + return uno::Reference< util::XNumberFormats >(); +} // ----------------------------------------------------------------------------- // ============================================================================= }// namespace reportdesign --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
