summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2018-04-16 21:50:55 +0300
committerTor Lillqvist <tml@collabora.com>2018-05-31 14:26:27 +0300
commit5abf9d268d51afeaea2ed6f2a81a92ad46dea1cd (patch)
tree94c6e679ee099fa0776534d66fc5862b900d5709 /sw
parent269c29131f5921ab92acf167ca24e8880cfa8bd4 (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.cxx17
-rw-r--r--sw/source/ui/vba/vbaapplication.hxx4
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;