diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-04-16 21:50:55 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2018-05-31 14:26:27 +0300 |
commit | 5abf9d268d51afeaea2ed6f2a81a92ad46dea1cd (patch) | |
tree | 94c6e679ee099fa0776534d66fc5862b900d5709 /sw | |
parent | 269c29131f5921ab92acf167ca24e8880cfa8bd4 (diff) |
Add Resize() method to ooo.vba.word.XApplication
Seems to be commonly called by 3rd-party Automation (and VB6) client
code.
Change-Id: I29ee5e7d95f3da2ffae0fac44151148be6e272ee
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/ui/vba/vbaapplication.cxx | 17 | ||||
-rw-r--r-- | sw/source/ui/vba/vbaapplication.hxx | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/sw/source/ui/vba/vbaapplication.cxx b/sw/source/ui/vba/vbaapplication.cxx index d9d245a12d49..ee743252c698 100644 --- a/sw/source/ui/vba/vbaapplication.cxx +++ b/sw/source/ui/vba/vbaapplication.cxx @@ -99,8 +99,8 @@ SwVbaApplication::getActiveDocument() return new SwVbaDocument( this, mxContext, getCurrentDocument() ); } -uno::Reference< word::XWindow > SAL_CALL -SwVbaApplication::getActiveWindow() +SwVbaWindow * +SwVbaApplication::getActiveSwVbaWindow() { // #FIXME so far can't determine Parent uno::Reference< frame::XModel > xModel( getCurrentDocument(), uno::UNO_SET_THROW ); @@ -108,6 +108,12 @@ SwVbaApplication::getActiveWindow() return new SwVbaWindow( uno::Reference< XHelperInterface >(), mxContext, xModel, xController ); } +uno::Reference< word::XWindow > SAL_CALL +SwVbaApplication::getActiveWindow() +{ + return getActiveSwVbaWindow(); +} + uno::Reference<word::XSystem > SAL_CALL SwVbaApplication::getSystem() { @@ -225,6 +231,13 @@ void SAL_CALL SwVbaApplication::ShowMe() // No idea what we should or could do } +void SAL_CALL SwVbaApplication::Resize( sal_Int32 Width, sal_Int32 Height ) +{ + auto pWindow = getActiveSwVbaWindow(); + pWindow->setWidth( Width ); + pWindow->setHeight( Height ); +} + // XInterfaceWithIID OUString SAL_CALL diff --git a/sw/source/ui/vba/vbaapplication.hxx b/sw/source/ui/vba/vbaapplication.hxx index 808f7c1c10b8..137db4d95591 100644 --- a/sw/source/ui/vba/vbaapplication.hxx +++ b/sw/source/ui/vba/vbaapplication.hxx @@ -34,6 +34,8 @@ #include <vbahelper/vbaapplicationbase.hxx> #include <cppuhelper/implbase.hxx> +#include "vbawindow.hxx" + typedef cppu::ImplInheritanceHelper< VbaApplicationBase, ooo::vba::word::XApplication, ooo::vba::XSinkCaller > SwVbaApplication_BASE; // This class is currently not a singleton. One instance is created per document with (potential?) @@ -47,6 +49,7 @@ typedef cppu::ImplInheritanceHelper< VbaApplicationBase, ooo::vba::word::XApplic class SwVbaApplication : public SwVbaApplication_BASE { std::vector<css::uno::Reference< ooo::vba::XSink >> mvSinks; + SwVbaWindow* getActiveSwVbaWindow(); public: explicit SwVbaApplication( css::uno::Reference< css::uno::XComponentContext >& m_xContext ); @@ -75,6 +78,7 @@ public: virtual void SAL_CALL setWindowState( sal_Int32 _windowstate ) override; virtual float SAL_CALL CentimetersToPoints( float Centimeters ) override; virtual void SAL_CALL ShowMe() override; + virtual void SAL_CALL Resize( sal_Int32 Width, sal_Int32 Height ) override; // XInterfaceWithIID virtual OUString SAL_CALL getIID() override; |