[Libreoffice-commits] core.git: editeng/inc editeng/source

Varun Dhall varun.dhall at studentpartner.com
Tue Jul 11 12:16:15 UTC 2017


 editeng/inc/unomodel.hxx         |   70 +++++++++++++++++++++++++++++++++++++++
 editeng/source/xml/xmltxtexp.cxx |   46 +++----------------------
 editeng/source/xml/xmltxtimp.cxx |    2 +
 3 files changed, 79 insertions(+), 39 deletions(-)

New commits:
commit 45fdb40085f5090ccd8df23f461ef9a8269d11b2
Author: Varun Dhall <varun.dhall at studentpartner.com>
Date:   Tue Jul 11 10:51:00 2017 +0530

    EditEngine: Added SvxSimpleUnoModel in import filter
    
    Change-Id: I65e30853517e1ad7164dd50c290ef3f35c8a61a5
    Reviewed-on: https://gerrit.libreoffice.org/39788
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/editeng/inc/unomodel.hxx b/editeng/inc/unomodel.hxx
new file mode 100644
index 000000000000..4486feb163f8
--- /dev/null
+++ b/editeng/inc/unomodel.hxx
@@ -0,0 +1,70 @@
+/* -*- 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_EDITENG_UNOMODEL_HXX
+#define INCLUDED_EDITENG_UNOMODEL_HXX
+
+#include <com/sun/star/ucb/XAnyCompareFactory.hpp>
+#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <cppuhelper/implbase4.hxx>
+
+class EDITENG_DLLPUBLIC SvxSimpleUnoModel : public cppu::WeakAggImplHelper4<
+                                    css::frame::XModel,
+                                    css::ucb::XAnyCompareFactory,
+                                    css::style::XStyleFamiliesSupplier,
+                                    css::lang::XMultiServiceFactory >
+{
+public:
+    SvxSimpleUnoModel();
+
+    // XMultiServiceFactory
+    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance( const OUString& aServiceSpecifier ) override;
+    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments( const OUString& ServiceSpecifier, const css::uno::Sequence< css::uno::Any >& Arguments ) override;
+    virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames(  ) override;
+
+    // XStyleFamiliesSupplier
+    virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getStyleFamilies(  ) override;
+
+    // XAnyCompareFactory
+    virtual css::uno::Reference< css::ucb::XAnyCompare > SAL_CALL createAnyCompareByName( const OUString& PropertyName ) override;
+
+    // XModel
+    virtual sal_Bool SAL_CALL attachResource( const OUString& aURL, const css::uno::Sequence< css::beans::PropertyValue >& aArgs ) override;
+    virtual OUString SAL_CALL getURL(  ) override;
+    virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs(  ) override;
+    virtual void SAL_CALL connectController( const css::uno::Reference< css::frame::XController >& xController ) override;
+    virtual void SAL_CALL disconnectController( const css::uno::Reference< css::frame::XController >& xController ) override;
+    virtual void SAL_CALL lockControllers(  ) override;
+    virtual void SAL_CALL unlockControllers(  ) override;
+    virtual sal_Bool SAL_CALL hasControllersLocked(  ) override;
+    virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController(  ) override;
+    virtual void SAL_CALL setCurrentController( const css::uno::Reference< css::frame::XController >& xController ) override;
+    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection(  ) override;
+
+    // XComponent
+    virtual void SAL_CALL dispose(  ) override;
+    virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) override;
+    virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) override;
+
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/editeng/source/xml/xmltxtexp.cxx b/editeng/source/xml/xmltxtexp.cxx
index 9b9a60d77079..569e8927eba7 100644
--- a/editeng/source/xml/xmltxtexp.cxx
+++ b/editeng/source/xml/xmltxtexp.cxx
@@ -48,6 +48,7 @@
 #include "editxml.hxx"
 #include <editeng/unonrule.hxx>
 #include <editeng/unoipset.hxx>
+#include <unomodel.hxx>
 
 using namespace com::sun::star;
 using namespace com::sun::star::container;
@@ -122,45 +123,7 @@ void SvxEditEngineSource::UpdateData()
 {
 }
 
-class SvxSimpleUnoModel : public cppu::WeakAggImplHelper4<
-                                    css::frame::XModel,
-                                    css::ucb::XAnyCompareFactory,
-                                    css::style::XStyleFamiliesSupplier,
-                                    css::lang::XMultiServiceFactory >
-{
-public:
-    SvxSimpleUnoModel();
-
-    // XMultiServiceFactory
-    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance( const OUString& aServiceSpecifier ) override;
-    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments( const OUString& ServiceSpecifier, const css::uno::Sequence< css::uno::Any >& Arguments ) override;
-    virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames(  ) override;
-
-    // XStyleFamiliesSupplier
-    virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getStyleFamilies(  ) override;
-
-    // XAnyCompareFactory
-    virtual css::uno::Reference< css::ucb::XAnyCompare > SAL_CALL createAnyCompareByName( const OUString& PropertyName ) override;
-
-    // XModel
-    virtual sal_Bool SAL_CALL attachResource( const OUString& aURL, const css::uno::Sequence< css::beans::PropertyValue >& aArgs ) override;
-    virtual OUString SAL_CALL getURL(  ) override;
-    virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs(  ) override;
-    virtual void SAL_CALL connectController( const css::uno::Reference< css::frame::XController >& xController ) override;
-    virtual void SAL_CALL disconnectController( const css::uno::Reference< css::frame::XController >& xController ) override;
-    virtual void SAL_CALL lockControllers(  ) override;
-    virtual void SAL_CALL unlockControllers(  ) override;
-    virtual sal_Bool SAL_CALL hasControllersLocked(  ) override;
-    virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController(  ) override;
-    virtual void SAL_CALL setCurrentController( const css::uno::Reference< css::frame::XController >& xController ) override;
-    virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection(  ) override;
-
-    // XComponent
-    virtual void SAL_CALL dispose(  ) override;
-    virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) override;
-    virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) override;
-
-};
+// class SvxSimpleUnoModel
 
 SvxSimpleUnoModel::SvxSimpleUnoModel()
 {
@@ -181,6 +144,11 @@ uno::Reference< uno::XInterface > SAL_CALL SvxSimpleUnoModel::createInstance( co
         return static_cast<cppu::OWeakObject *>(new SvxUnoTextField( text::textfield::Type::DATE ));
     }
 
+    if( aServiceSpecifier == "com.sun.star.text.TextField.URL" )
+    {
+        return static_cast<cppu::OWeakObject *>(new SvxUnoTextField(text::textfield::Type::URL));
+    }
+
     return SvxUnoTextCreateTextField( aServiceSpecifier );
 
 }
diff --git a/editeng/source/xml/xmltxtimp.cxx b/editeng/source/xml/xmltxtimp.cxx
index 54fe45c5ec97..3a97f9e52b25 100644
--- a/editeng/source/xml/xmltxtimp.cxx
+++ b/editeng/source/xml/xmltxtimp.cxx
@@ -43,6 +43,7 @@
 #include <editeng/unoprnms.hxx>
 #include <editeng/unoipset.hxx>
 #include <cassert>
+#include <unomodel.hxx>
 
 using namespace com::sun::star;
 using namespace com::sun::star::document;
@@ -134,6 +135,7 @@ SvxXMLXTextImportComponent::SvxXMLXTextImportComponent(
     mxText( xText )
 {
     GetTextImport()->SetCursor( mxText->createTextCursor() );
+    SvXMLImport::setTargetDocument(new SvxSimpleUnoModel);
 }
 
 void SvxReadXML( EditEngine& rEditEngine, SvStream& rStream, const ESelection& rSel )


More information about the Libreoffice-commits mailing list