diff options
Diffstat (limited to 'chart2/source/controller/itemsetwrapper/ItemConverter.cxx')
-rw-r--r-- | chart2/source/controller/itemsetwrapper/ItemConverter.cxx | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/chart2/source/controller/itemsetwrapper/ItemConverter.cxx b/chart2/source/controller/itemsetwrapper/ItemConverter.cxx index eed966a7279c..204fb74bcac6 100644 --- a/chart2/source/controller/itemsetwrapper/ItemConverter.cxx +++ b/chart2/source/controller/itemsetwrapper/ItemConverter.cxx @@ -2,9 +2,9 @@ * * $RCSfile: ItemConverter.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: bm $ $Date: 2003-10-17 14:30:14 $ + * last change: $Author: bm $ $Date: 2003-11-04 12:37:17 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -127,6 +127,32 @@ uno::Reference< beans::XPropertySet > ItemConverter::GetPropertySet() const return m_xPropertySet; } +uno::Reference< beans::XPropertySet > ItemConverter::SetNewPropertySet( + const uno::Reference< beans::XPropertySet > & xNewProp ) +{ + uno::Reference< lang::XComponent > xComp( m_xPropertySet, uno::UNO_QUERY ); + if( xComp.is()) + { + // method of base class ::utl::OEventListenerAdapter + stopComponentListening( xComp ); + } + + m_xPropertySetInfo.set( NULL ); + m_xPropertySet.set( xNewProp ); + + if( m_xPropertySet.is()) + { + m_xPropertySetInfo.set( m_xPropertySet->getPropertySetInfo()); + + uno::Reference< lang::XComponent > xNewComp( m_xPropertySet, uno::UNO_QUERY ); + if( xNewComp.is()) + { + // method of base class ::utl::OEventListenerAdapter + startComponentListening( xNewComp ); + } + } +} + void ItemConverter::_disposing( const lang::EventObject& _rSource ) { if( _rSource.Source == m_xPropertySet ) @@ -221,7 +247,7 @@ void ItemConverter::FillSpecialItem( } bool ItemConverter::ApplySpecialItem( - USHORT nWhichId, const SfxItemSet & rItemSet ) const + USHORT nWhichId, const SfxItemSet & rItemSet ) throw( uno::Exception ) { OSL_ENSURE( false, "ItemConverter: Unhandled special item found!" ); |