diff options
author | Ocke Janssen [oj] <Ocke.Janssen@oracle.com> | 2010-09-09 17:41:40 +0200 |
---|---|---|
committer | Ocke Janssen [oj] <Ocke.Janssen@oracle.com> | 2010-09-09 17:41:40 +0200 |
commit | 5de58a084612c45d20b58ef95159c67b5df422bb (patch) | |
tree | 02aa99a8a99bd94760365976893340f2c9db1a53 | |
parent | 39faed2cd839f40091fee03d05c528e6d08c7522 (diff) |
tabcontrol: fix graphic objedct for dialog
-rw-r--r-- | toolkit/inc/toolkit/controls/dialogcontrol.hxx | 1 | ||||
-rw-r--r-- | toolkit/source/controls/controlmodelcontainerbase.cxx | 23 | ||||
-rw-r--r-- | toolkit/source/controls/dialogcontrol.cxx | 28 |
3 files changed, 29 insertions, 23 deletions
diff --git a/toolkit/inc/toolkit/controls/dialogcontrol.hxx b/toolkit/inc/toolkit/controls/dialogcontrol.hxx index e46ed657dd49..a68760715035 100644 --- a/toolkit/inc/toolkit/controls/dialogcontrol.hxx +++ b/toolkit/inc/toolkit/controls/dialogcontrol.hxx @@ -123,6 +123,7 @@ public: protected: // virtual void ImplModelPropertiesChanged( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyChangeEvent >& rEvents ) throw(::com::sun::star::uno::RuntimeException); virtual void PrepareWindowDescriptor( ::com::sun::star::awt::WindowDescriptor& rDesc ); + virtual void ImplModelPropertiesChanged( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyChangeEvent >& rEvents ) throw(::com::sun::star::uno::RuntimeException); protected: }; diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx b/toolkit/source/controls/controlmodelcontainerbase.cxx index d0dbdd7e5128..58ca81f74541 100644 --- a/toolkit/source/controls/controlmodelcontainerbase.cxx +++ b/toolkit/source/controls/controlmodelcontainerbase.cxx @@ -1615,30 +1615,7 @@ void ControlContainerBase::ImplModelPropertiesChanged( const Sequence< PropertyC } } } - sal_Int32 nLen = rEvents.getLength(); - for( sal_Int32 i = 0; i < nLen; i++ ) - { - const PropertyChangeEvent& rEvt = rEvents.getConstArray()[i]; - Reference< XControlModel > xModel( rEvt.Source, UNO_QUERY ); - sal_Bool bOwnModel = (XControlModel*)xModel.get() == (XControlModel*)getModel().get(); - if ( bOwnModel && rEvt.PropertyName.equalsAsciiL( "ImageURL", 8 )) - { - ::rtl::OUString aImageURL; - Reference< graphic::XGraphic > xGraphic; - if (( ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_IMAGEURL ) ) >>= aImageURL ) && - ( aImageURL.getLength() > 0 )) - { - ::rtl::OUString absoluteUrl = - getPhysicalLocation( ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_DIALOGSOURCEURL )), - uno::makeAny(aImageURL)); - - xGraphic = Impl_getGraphicFromURL_nothrow( absoluteUrl ); - } - ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_GRAPHIC), uno::makeAny( xGraphic ), sal_True ); - break; - } - } UnoControlContainer::ImplModelPropertiesChanged( rEvents ); } diff --git a/toolkit/source/controls/dialogcontrol.cxx b/toolkit/source/controls/dialogcontrol.cxx index 06e509f7e249..a5c6db27d855 100644 --- a/toolkit/source/controls/dialogcontrol.cxx +++ b/toolkit/source/controls/dialogcontrol.cxx @@ -461,3 +461,31 @@ throw (RuntimeException) ImplUpdateResourceResolver(); } +void UnoDialogControl::ImplModelPropertiesChanged( const Sequence< PropertyChangeEvent >& rEvents ) throw(RuntimeException) +{ + sal_Int32 nLen = rEvents.getLength(); + for( sal_Int32 i = 0; i < nLen; i++ ) + { + const PropertyChangeEvent& rEvt = rEvents.getConstArray()[i]; + Reference< XControlModel > xModel( rEvt.Source, UNO_QUERY ); + sal_Bool bOwnModel = (XControlModel*)xModel.get() == (XControlModel*)getModel().get(); + if ( bOwnModel && rEvt.PropertyName.equalsAsciiL( "ImageURL", 8 )) + { + ::rtl::OUString aImageURL; + Reference< graphic::XGraphic > xGraphic; + if (( ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_IMAGEURL ) ) >>= aImageURL ) && + ( aImageURL.getLength() > 0 )) + { + ::rtl::OUString absoluteUrl = + getPhysicalLocation( ImplGetPropertyValue( GetPropertyName( BASEPROPERTY_DIALOGSOURCEURL )), + uno::makeAny(aImageURL)); + + xGraphic = Impl_getGraphicFromURL_nothrow( absoluteUrl ); + } + + ImplSetPropertyValue( GetPropertyName( BASEPROPERTY_GRAPHIC), uno::makeAny( xGraphic ), sal_True ); + break; + } + } + ControlContainerBase::ImplModelPropertiesChanged(rEvents); +} |