oovbaapi/ooo/vba/word/XWindow.idl | 1 + sw/source/ui/vba/vbawindow.cxx | 31 +++++++++++++++++++++++++++++++ sw/source/ui/vba/vbawindow.hxx | 2 ++ 3 files changed, 34 insertions(+)
New commits: commit 57667bdee8bab8dbcc302e32e96f6d25e95e2d72 Author: Tor Lillqvist <[email protected]> Date: Tue Jun 12 16:16:26 2018 +0300 Add ooo.vba.word.XWindow.Caption property Change-Id: Ifa94b95d935975a87322afebfe604a4016f5a53f Reviewed-on: https://gerrit.libreoffice.org/55709 Reviewed-by: Andras Timar <[email protected]> Tested-by: Andras Timar <[email protected]> diff --git a/oovbaapi/ooo/vba/word/XWindow.idl b/oovbaapi/ooo/vba/word/XWindow.idl index 9ad98654cfff..649cad3415f7 100644 --- a/oovbaapi/ooo/vba/word/XWindow.idl +++ b/oovbaapi/ooo/vba/word/XWindow.idl @@ -32,6 +32,7 @@ interface XWindow : com::sun::star::uno::XInterface { [attribute] any View; [attribute] any WindowState; + [attribute] string Caption; void Activate(); void Close([in] any SaveChanges, [in] any RouteDocument); any Panes( [in] any Index ); // this is a fake api for it seems not support in Write diff --git a/sw/source/ui/vba/vbawindow.cxx b/sw/source/ui/vba/vbawindow.cxx index 5f5749d0f5c4..8a640f346b14 100644 --- a/sw/source/ui/vba/vbawindow.cxx +++ b/sw/source/ui/vba/vbawindow.cxx @@ -113,6 +113,37 @@ SwVbaWindow::setWindowState( const uno::Any& _windowstate ) } } +OUString SAL_CALL +SwVbaWindow::getCaption() +{ + SwView* pView = word::getView( m_xModel ); + if( !pView ) + return OUString(""); + + uno::Reference< css::beans::XPropertySet > xFrameProps( pView->GetViewFrame()->GetFrame().GetFrameInterface()->getController()->getFrame(), uno::UNO_QUERY ); + if( !xFrameProps.is() ) + return OUString(""); + + OUString sTitle; + xFrameProps->getPropertyValue( "Title" ) >>= sTitle; + + return sTitle; +} + +void SAL_CALL +SwVbaWindow::setCaption( const OUString& _caption ) +{ + SwView* pView = word::getView( m_xModel ); + if( !pView ) + return; + + uno::Reference< css::beans::XPropertySet > xFrameProps( pView->GetViewFrame()->GetFrame().GetFrameInterface()->getController()->getFrame(), uno::UNO_QUERY ); + if( !xFrameProps.is() ) + return; + + xFrameProps->setPropertyValue( "Title", uno::makeAny( _caption ) ); +} + uno::Any SAL_CALL SwVbaWindow::Panes( const uno::Any& aIndex ) { diff --git a/sw/source/ui/vba/vbawindow.hxx b/sw/source/ui/vba/vbawindow.hxx index e5f7296a8ba5..ee435b1505ac 100644 --- a/sw/source/ui/vba/vbawindow.hxx +++ b/sw/source/ui/vba/vbawindow.hxx @@ -42,6 +42,8 @@ public: virtual void SAL_CALL setView( const css::uno::Any& _view ) override; virtual css::uno::Any SAL_CALL getWindowState() override; virtual void SAL_CALL setWindowState( const css::uno::Any& _windowstate ) override; + virtual OUString SAL_CALL getCaption() override; + virtual void SAL_CALL setCaption( const OUString& _caption ) override; // Methods virtual void SAL_CALL Activate( ) override; virtual void SAL_CALL Close( const css::uno::Any& SaveChanges, const css::uno::Any& RouteDocument ) override; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
