desktop/qa/desktop_lib/test_desktop_lib.cxx | 23 ++++++++----- desktop/source/lib/init.cxx | 26 ++++++++++++++ include/LibreOfficeKit/LibreOfficeKit.h | 6 +++ include/LibreOfficeKit/LibreOfficeKit.hxx | 20 +++++++++++ include/sfx2/lokhelper.hxx | 24 +++++++++++++ include/vcl/ITiledRenderable.hxx | 10 +++++ libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx | 24 +++++++++++++ sfx2/Library_sfx.mk | 1 sfx2/source/view/lokhelper.cxx | 35 ++++++++++++++++++++ sw/inc/unotxdoc.hxx | 2 + sw/source/uibase/uno/unotxdoc.cxx | 5 ++ 11 files changed, 168 insertions(+), 8 deletions(-)
New commits: commit ba274cf01612d1c2355dbc1434ccfa76004d0056 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 15:56:34 2015 +0200 CppunitTest_desktop_lib: fix reported name of failed test Change-Id: Iaa9effdcf6d6c6b2292e3fc7b666afdb3678694d diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index d5616d5..8642f44 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -48,13 +48,14 @@ public: LibLODocument_Impl* loadDoc(const char* pName); void closeDoc(); - void runAllTests(); void testGetStyles(); void testGetFonts(); void testCreateView(); CPPUNIT_TEST_SUITE(DesktopLOKTest); - CPPUNIT_TEST(runAllTests); + CPPUNIT_TEST(testGetStyles); + CPPUNIT_TEST(testGetFonts); + CPPUNIT_TEST(testCreateView); CPPUNIT_TEST_SUITE_END(); uno::Reference<lang::XComponent> mxComponent; @@ -81,13 +82,6 @@ void DesktopLOKTest::closeDoc() } } -void DesktopLOKTest::runAllTests() -{ - testGetStyles(); - testGetFonts(); - testCreateView(); -} - void DesktopLOKTest::testGetStyles() { LibLODocument_Impl* pDocument = loadDoc("blank_text.odt"); commit 7642889cdced365d1200ae88086e094c704e94cd Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 15:43:17 2015 +0200 lok::Office: add getViews() Change-Id: Iabfb0f2a19106dc4a6bdae45f9e85d76c68a973e diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index a089614..d5616d5 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -14,6 +14,7 @@ #include <boost/property_tree/json_parser.hpp> #include <comphelper/processfactory.hxx> #include <sfx2/objsh.hxx> +#include <sfx2/lokhelper.hxx> #include <test/unoapi_test.hxx> #include "../../inc/lib/init.hxx" @@ -50,6 +51,7 @@ public: void runAllTests(); void testGetStyles(); void testGetFonts(); + void testCreateView(); CPPUNIT_TEST_SUITE(DesktopLOKTest); CPPUNIT_TEST(runAllTests); @@ -83,6 +85,7 @@ void DesktopLOKTest::runAllTests() { testGetStyles(); testGetFonts(); + testCreateView(); } void DesktopLOKTest::testGetStyles() @@ -134,6 +137,16 @@ void DesktopLOKTest::testGetFonts() closeDoc(); } +void DesktopLOKTest::testCreateView() +{ + LibLODocument_Impl* pDocument = loadDoc("blank_text.odt"); + CPPUNIT_ASSERT_EQUAL(1, SfxLokHelper::getViews()); + + pDocument->m_pDocumentClass->createView(pDocument); + CPPUNIT_ASSERT_EQUAL(2, SfxLokHelper::getViews()); + closeDoc(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(DesktopLOKTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 15a93cb..c35c6a4 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -305,6 +305,7 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions (LibreOfficeKit* pThi static void lo_registerCallback (LibreOfficeKit* pThis, LibreOfficeKitCallback pCallback, void* pData); +static int lo_getViews(LibreOfficeKit* pThis); struct LibLibreOffice_Impl : public _LibreOfficeKit { @@ -328,6 +329,7 @@ struct LibLibreOffice_Impl : public _LibreOfficeKit m_pOfficeClass->getError = lo_getError; m_pOfficeClass->documentLoadWithOptions = lo_documentLoadWithOptions; m_pOfficeClass->registerCallback = lo_registerCallback; + m_pOfficeClass->getViews = lo_getViews; gOfficeClass = m_pOfficeClass; } @@ -445,6 +447,11 @@ static void lo_registerCallback (LibreOfficeKit* pThis, pLib->mpCallbackData = pData; } +static int lo_getViews(LibreOfficeKit* /*pThis*/) +{ + return SfxLokHelper::getViews(); +} + static int doc_saveAs(LibreOfficeKitDocument* pThis, const char* sUrl, const char* pFormat, const char* pFilterOptions) { LibLODocument_Impl* pDocument = static_cast<LibLODocument_Impl*>(pThis); diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index eae3537..b59d3f8 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -54,6 +54,9 @@ struct _LibreOfficeKitClass void (*registerCallback) (LibreOfficeKit* pThis, LibreOfficeKitCallback pCallback, void* pData); + + /// @see lok::Office::getViews(). + int (*getViews) (LibreOfficeKit* pThis); #endif }; diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx index 1a8b002..32f1902 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -313,6 +313,16 @@ public: { return mpThis->pClass->getError(mpThis); } + +#ifdef LOK_USE_UNSTABLE_API + /** + * Get number of total views. + */ + inline int getViews() + { + return mpThis->pClass->getViews(mpThis); + } +#endif }; /// Factory method to create a lok::Office instance. diff --git a/include/sfx2/lokhelper.hxx b/include/sfx2/lokhelper.hxx index d439bce..bc3f430 100644 --- a/include/sfx2/lokhelper.hxx +++ b/include/sfx2/lokhelper.hxx @@ -16,6 +16,9 @@ class SFX2_DLLPUBLIC SfxLokHelper public: /// Create a new view shell for pViewShell's object shell. static int createView(SfxViewShell* pViewShell); + + /// Total number of view shells. + static int getViews(); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx index 4f500e0..1bb43d0 100644 --- a/sfx2/source/view/lokhelper.cxx +++ b/sfx2/source/view/lokhelper.cxx @@ -26,4 +26,10 @@ int SfxLokHelper::createView(SfxViewShell* pViewShell) return rViewArr.size() - 1; } +int SfxLokHelper::getViews() +{ + SfxViewShellArr_Impl& rViewArr = SfxGetpApp()->GetViewShells_Impl(); + return rViewArr.size(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit 61b0018ac15ef4366e80d4e01191128d49fe54a4 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 15:10:22 2015 +0200 gtktiledviewer: add button tooltips Change-Id: Ifad67adf80761118bbbfb110cbadd493214fee93 diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index dfc9b6d..6f10935 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -513,16 +513,19 @@ int main( int argc, char* argv[] ) GtkToolItem* pZoomIn = gtk_tool_button_new( NULL, NULL ); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pZoomIn), "zoom-in-symbolic"); + gtk_tool_item_set_tooltip_text(pZoomIn, "Zoom In"); gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), pZoomIn, 0); g_signal_connect( G_OBJECT(pZoomIn), "clicked", G_CALLBACK(changeZoom), NULL ); GtkToolItem* pZoom1 = gtk_tool_button_new( NULL, NULL ); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pZoom1), "zoom-original-symbolic"); + gtk_tool_item_set_tooltip_text(pZoom1, "Normal Size"); gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), pZoom1, -1); g_signal_connect( G_OBJECT(pZoom1), "clicked", G_CALLBACK(changeZoom), NULL ); GtkToolItem* pZoomOut = gtk_tool_button_new( NULL, NULL ); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pZoomOut), "zoom-out-symbolic"); + gtk_tool_item_set_tooltip_text(pZoomOut, "Zoom Out"); gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), pZoomOut, -1); g_signal_connect( G_OBJECT(pZoomOut), "clicked", G_CALLBACK(changeZoom), NULL ); @@ -549,17 +552,20 @@ int main( int argc, char* argv[] ) // Cut, copy & paste. GtkToolItem* pCopyButton = gtk_tool_button_new( NULL, NULL); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(pCopyButton), "edit-copy-symbolic"); + gtk_tool_item_set_tooltip_text(pCopyButton, "Copy"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pCopyButton, -1); g_signal_connect(G_OBJECT(pCopyButton), "clicked", G_CALLBACK(doCopy), NULL); gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1); pEnableEditing = gtk_toggle_tool_button_new(); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pEnableEditing), "insert-text-symbolic"); + gtk_tool_item_set_tooltip_text(pEnableEditing, "Edit"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pEnableEditing, -1); g_signal_connect(G_OBJECT(pEnableEditing), "toggled", G_CALLBACK(toggleEditing), NULL); GtkToolItem* pFindButton = gtk_tool_button_new( NULL, NULL); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pFindButton), "edit-find-symbolic"); + gtk_tool_item_set_tooltip_text(pFindButton, "Find"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pFindButton, -1); g_signal_connect(G_OBJECT(pFindButton), "clicked", G_CALLBACK(toggleFindbar), NULL); @@ -573,24 +579,28 @@ int main( int argc, char* argv[] ) pBold = gtk_toggle_tool_button_new(); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pBold), "format-text-bold-symbolic"); + gtk_tool_item_set_tooltip_text(pBold, "Bold"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pBold, -1); g_signal_connect(G_OBJECT(pBold), "toggled", G_CALLBACK(toggleToolItem), NULL); lcl_registerToolItem(pBold, ".uno:Bold"); pItalic = gtk_toggle_tool_button_new(); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pItalic), "format-text-italic-symbolic"); + gtk_tool_item_set_tooltip_text(pItalic, "Italic"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pItalic, -1); g_signal_connect(G_OBJECT(pItalic), "toggled", G_CALLBACK(toggleToolItem), NULL); lcl_registerToolItem(pItalic, ".uno:Italic"); pUnderline = gtk_toggle_tool_button_new(); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pUnderline), "format-text-underline-symbolic"); + gtk_tool_item_set_tooltip_text(pUnderline, "Underline"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pUnderline, -1); g_signal_connect(G_OBJECT(pUnderline), "toggled", G_CALLBACK(toggleToolItem), NULL); lcl_registerToolItem(pUnderline, ".uno:Underline"); pStrikethrough = gtk_toggle_tool_button_new (); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pStrikethrough), "format-text-strikethrough-symbolic"); + gtk_tool_item_set_tooltip_text(pStrikethrough, "Strikethrough"); gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pStrikethrough, -1); g_signal_connect(G_OBJECT(pStrikethrough), "toggled", G_CALLBACK(toggleToolItem), NULL); lcl_registerToolItem(pStrikethrough, ".uno:Strikeout"); commit 7d86b2e44b58f03f18b1417fadeedd01ad2eaebf Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 14:36:56 2015 +0200 lok::Document: add createView() Change-Id: Ic871ec41992b611b10958799b2dc12375a91efe4 diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index fb8ec3e..15a93cb 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -48,6 +48,7 @@ #include <editeng/fontitem.hxx> #include <editeng/flstitem.hxx> #include <sfx2/objsh.hxx> +#include <sfx2/lokhelper.hxx> #include <svx/svxids.hrc> #include <vcl/svapp.hxx> #include <vcl/svpforlokit.hxx> @@ -244,6 +245,7 @@ static void doc_setGraphicSelection (LibreOfficeKitDocument* pThis, static void doc_resetSelection (LibreOfficeKitDocument* pThis); static char* doc_getCommandValues(LibreOfficeKitDocument* pThis, const char* pCommand); +static int doc_createView(LibreOfficeKitDocument* pThis); LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XComponent> &xComponent) : mxComponent( xComponent ) @@ -275,6 +277,8 @@ LibLODocument_Impl::LibLODocument_Impl(const uno::Reference <css::lang::XCompone m_pDocumentClass->resetSelection = doc_resetSelection; m_pDocumentClass->getCommandValues = doc_getCommandValues; + m_pDocumentClass->createView = doc_createView; + gDocumentClass = m_pDocumentClass; } pClass = m_pDocumentClass.get(); @@ -974,6 +978,21 @@ static char* doc_getCommandValues(LibreOfficeKitDocument* pThis, const char* pCo } } +static int doc_createView(LibreOfficeKitDocument* pThis) +{ + SolarMutexGuard aGuard; + + ITiledRenderable* pDoc = getTiledRenderable(pThis); + if (!pDoc) + { + gImpl->maLastExceptionMsg = "Document doesn't support tiled rendering"; + return -1; + } + + SfxViewShell* pViewShell = pDoc->getCurrentViewShell(); + return SfxLokHelper::createView(pViewShell); +} + static char* lo_getError (LibreOfficeKit *pThis) { LibLibreOffice_Impl* pLib = static_cast<LibLibreOffice_Impl*>(pThis); diff --git a/include/LibreOfficeKit/LibreOfficeKit.h b/include/LibreOfficeKit/LibreOfficeKit.h index 8060f0e..eae3537 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.h +++ b/include/LibreOfficeKit/LibreOfficeKit.h @@ -162,6 +162,9 @@ struct _LibreOfficeKitDocumentClass /// @see lok::Document:getStyles char* (*getCommandValues) (LibreOfficeKitDocument* pThis, const char* pCommand); + + /// @see lok::Document::createView(). + int (*createView) (LibreOfficeKitDocument* pThis); #endif // LOK_USE_UNSTABLE_API }; diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx index 4459994..1a8b002 100644 --- a/include/LibreOfficeKit/LibreOfficeKit.hxx +++ b/include/LibreOfficeKit/LibreOfficeKit.hxx @@ -257,6 +257,16 @@ public: { return mpDoc->pClass->getCommandValues(mpDoc, pCommand); } + + /** + * Create a new view for an existing document. + * By default a loaded document has 1 view. + * @return the ID of the new view. + */ + int createView() + { + return mpDoc->pClass->createView(mpDoc); + } #endif // LOK_USE_UNSTABLE_API }; diff --git a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx index 43afaf9..dfc9b6d 100644 --- a/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx +++ b/libreofficekit/qa/gtktiledviewer/gtktiledviewer.cxx @@ -147,6 +147,14 @@ static void toggleFindbar(GtkWidget* /*pButton*/, gpointer /*pItem*/) } } +/// Calls lok::Document::createView(). +static void createView(GtkWidget* /*pButton*/, gpointer /*pItem*/) +{ + LOKDocView* pLOKDocView = LOK_DOC_VIEW(pDocView); + LibreOfficeKitDocument* pDocument = lok_doc_view_get_document(pLOKDocView); + pDocument->pClass->createView(pDocument); +} + /// Our GtkClipboardGetFunc implementation for HTML. static void htmlGetFunc(GtkClipboard* /*pClipboard*/, GtkSelectionData* pSelectionData, guint /*info*/, gpointer pUserData) { @@ -555,6 +563,12 @@ int main( int argc, char* argv[] ) gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pFindButton, -1); g_signal_connect(G_OBJECT(pFindButton), "clicked", G_CALLBACK(toggleFindbar), NULL); + GtkToolItem* pNewViewButton = gtk_tool_button_new( NULL, NULL); + gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON (pNewViewButton), "view-continuous-symbolic"); + gtk_tool_item_set_tooltip_text(pNewViewButton, "New View"); + gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), pNewViewButton, -1); + g_signal_connect(G_OBJECT(pNewViewButton), "clicked", G_CALLBACK(createView), NULL); + gtk_toolbar_insert( GTK_TOOLBAR(pToolbar), gtk_separator_tool_item_new(), -1); pBold = gtk_toggle_tool_button_new(); commit 2fc69762a43f97df4f790a641b23f2d556c069b3 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 14:36:38 2015 +0200 sfx2: add SfxLokHelper This is meant to be a class that is visible outside sfx2 (so e.g. desktop can use it later), but has access to various sfx2 internals. Change-Id: I83204963492b11c1c4a621e86528a64fba27acf3 diff --git a/include/sfx2/lokhelper.hxx b/include/sfx2/lokhelper.hxx new file mode 100644 index 0000000..d439bce --- /dev/null +++ b/include/sfx2/lokhelper.hxx @@ -0,0 +1,21 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <sfx2/dllapi.h> + +class SfxViewShell; + +class SFX2_DLLPUBLIC SfxLokHelper +{ +public: + /// Create a new view shell for pViewShell's object shell. + static int createView(SfxViewShell* pViewShell); +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk index faba426..9f0bb3d 100644 --- a/sfx2/Library_sfx.mk +++ b/sfx2/Library_sfx.mk @@ -297,6 +297,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\ sfx2/source/view/frame2 \ sfx2/source/view/frmload \ sfx2/source/view/ipclient \ + sfx2/source/view/lokhelper \ sfx2/source/view/printer \ sfx2/source/view/sfxbasecontroller \ sfx2/source/view/userinputinterception \ diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx new file mode 100644 index 0000000..4f500e0 --- /dev/null +++ b/sfx2/source/view/lokhelper.cxx @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <sfx2/lokhelper.hxx> +#include <sfx2/viewsh.hxx> +#include <sfx2/request.hxx> +#include <sfx2/sfxsids.hrc> +#include <sfx2/viewfrm.hxx> + +#include <shellimpl.hxx> + +int SfxLokHelper::createView(SfxViewShell* pViewShell) +{ + SfxViewFrame* pViewFrame = pViewShell->GetViewFrame(); + SfxRequest aRequest(pViewFrame, SID_NEWWINDOW); + pViewFrame->ExecView_Impl(aRequest); + + // The SfxViewShell ctor always puts the view shell to the end of the vector. + SfxViewShellArr_Impl& rViewArr = SfxGetpApp()->GetViewShells_Impl(); + return rViewArr.size() - 1; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit f0f082fa3a6f3bf2396b477a2c5e810b532b7ab8 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Sep 14 12:50:48 2015 +0200 vcl::ITiledRenderable: add getCurrentViewShell() and implement it for Writer Change-Id: Ic936746f3d473e15f5a1589cba35173778b442c6 diff --git a/include/vcl/ITiledRenderable.hxx b/include/vcl/ITiledRenderable.hxx index 8824361..a31d808 100644 --- a/include/vcl/ITiledRenderable.hxx +++ b/include/vcl/ITiledRenderable.hxx @@ -16,6 +16,8 @@ #include <tools/gen.hxx> #include <vcl/virdev.hxx> +class SfxViewShell; + namespace vcl { @@ -139,8 +141,16 @@ public: * @see lok::Document::resetSelection(). */ virtual void resetSelection() = 0; + + /// Get the currently active view shell of the document. + virtual SfxViewShell* getCurrentViewShell() + { + return 0; + } }; } // namespace vcl #endif // INCLUDED_VCL_ITILEDRENDERABLE_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx index 8306b83..0ca6e5b 100644 --- a/sw/inc/unotxdoc.hxx +++ b/sw/inc/unotxdoc.hxx @@ -428,6 +428,8 @@ public: virtual void setGraphicSelection(int nType, int nX, int nY) SAL_OVERRIDE; /// @see vcl::ITiledRenderable::resetSelection(). virtual void resetSelection() SAL_OVERRIDE; + /// @see vcl::ITiledRenderable::getCurrentViewShell(). + virtual SfxViewShell* getCurrentViewShell() SAL_OVERRIDE; // ::com::sun::star::tiledrendering::XTiledRenderable virtual void SAL_CALL paintTile( const ::css::uno::Any& Parent, ::sal_Int32 nOutputWidth, ::sal_Int32 nOutputHeight, ::sal_Int32 nTilePosX, ::sal_Int32 nTilePosY, ::sal_Int32 nTileWidth, ::sal_Int32 nTileHeight ) throw (::css::uno::RuntimeException, ::std::exception) SAL_OVERRIDE; diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx index fe75178..bd35606 100644 --- a/sw/source/uibase/uno/unotxdoc.cxx +++ b/sw/source/uibase/uno/unotxdoc.cxx @@ -3400,6 +3400,11 @@ void SwXTextDocument::resetSelection() pWrtShell->ResetSelect(0, false); } +SfxViewShell* SwXTextDocument::getCurrentViewShell() +{ + return pDocShell->GetView(); +} + void SAL_CALL SwXTextDocument::paintTile( const ::css::uno::Any& Parent, ::sal_Int32 nOutputWidth, ::sal_Int32 nOutputHeight, ::sal_Int32 nTilePosX, ::sal_Int32 nTilePosY, ::sal_Int32 nTileWidth, ::sal_Int32 nTileHeight ) throw (::css::uno::RuntimeException, ::std::exception) { SystemGraphicsData aData; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits