diff options
author | Varun Dhall <varun.dhall@studentpartner.com> | 2017-07-11 10:51:00 +0530 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2017-07-11 14:15:41 +0200 |
commit | 45fdb40085f5090ccd8df23f461ef9a8269d11b2 (patch) | |
tree | ce717584b5b817b734131ee238d01a52bb33596e /editeng | |
parent | 7de833a626cea8cd741ba1d971fea6f0c3a2660b (diff) |
EditEngine: Added SvxSimpleUnoModel in import filter
Change-Id: I65e30853517e1ad7164dd50c290ef3f35c8a61a5
Reviewed-on: https://gerrit.libreoffice.org/39788
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'editeng')
-rw-r--r-- | editeng/inc/unomodel.hxx | 70 | ||||
-rw-r--r-- | editeng/source/xml/xmltxtexp.cxx | 46 | ||||
-rw-r--r-- | editeng/source/xml/xmltxtimp.cxx | 2 |
3 files changed, 79 insertions, 39 deletions
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 ) |