summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--offapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/animations/SequenceTimeContainer.idl38
-rw-r--r--sd/source/core/CustomAnimationEffect.cxx57
-rw-r--r--xmloff/source/draw/animationimport.cxx24
4 files changed, 73 insertions, 47 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 4ebd6b554d1b..da049875a358 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_UnoApi_set_include,offapi,\
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/animations,\
+ SequenceTimeContainer \
TargetPropertiesCreator \
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,offapi/com/sun/star/auth,\
diff --git a/offapi/com/sun/star/animations/SequenceTimeContainer.idl b/offapi/com/sun/star/animations/SequenceTimeContainer.idl
new file mode 100644
index 000000000000..75746bf5b4e6
--- /dev/null
+++ b/offapi/com/sun/star/animations/SequenceTimeContainer.idl
@@ -0,0 +1,38 @@
+/* -*- 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 __com_sun_star_animations_SequenceTimeContainer_idl__
+#define __com_sun_star_animations_SequenceTimeContainer_idl__
+
+#include <com/sun/star/animations/XTimeContainer.idl>
+
+
+ module com { module sun { module star { module animations {
+
+
+/**
+ @since LibreOffice 4.1
+*/
+service SequenceTimeContainer : XTimeContainer;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/core/CustomAnimationEffect.cxx b/sd/source/core/CustomAnimationEffect.cxx
index 84612191e378..8091aa69671c 100644
--- a/sd/source/core/CustomAnimationEffect.cxx
+++ b/sd/source/core/CustomAnimationEffect.cxx
@@ -20,6 +20,7 @@
#include <tools/debug.hxx>
#include <com/sun/star/util/XCloneable.hpp>
#include <com/sun/star/animations/AnimationFill.hpp>
+#include <com/sun/star/animations/SequenceTimeContainer.hpp>
#include <com/sun/star/container/XEnumerationAccess.hpp>
#include <com/sun/star/presentation/EffectNodeType.hpp>
#include <com/sun/star/presentation/EffectCommands.hpp>
@@ -3208,7 +3209,7 @@ void SAL_CALL AnimationChangeListener::disposing( const ::com::sun::star::lang::
// ====================================================================
MainSequence::MainSequence()
-: mxTimingRootNode( ::comphelper::getProcessServiceFactory()->createInstance("com.sun.star.animations.SequenceTimeContainer"), UNO_QUERY )
+: mxTimingRootNode( SequenceTimeContainer::create( ::comphelper::getProcessComponentContext() ) )
, mbRebuilding( false )
, mnRebuildLockGuard( 0 )
, mbPendingRebuildRequest( false )
@@ -3312,22 +3313,20 @@ void MainSequence::createMainSequence()
// see if we have a mainsequence at all. if not, create one...
if( !mxSequenceRoot.is() )
{
- mxSequenceRoot = Reference< XTimeContainer >::query(::comphelper::getProcessServiceFactory()->createInstance("com.sun.star.animations.SequenceTimeContainer"));
- if( mxSequenceRoot.is() )
- {
- uno::Sequence< ::com::sun::star::beans::NamedValue > aUserData( 1 );
- aUserData[0].Name = "node-type";
- aUserData[0].Value <<= ::com::sun::star::presentation::EffectNodeType::MAIN_SEQUENCE;
- mxSequenceRoot->setUserData( aUserData );
-
- // empty sequence until now, set duration to 0.0
- // explicitly (otherwise, this sequence will never
- // end)
- mxSequenceRoot->setDuration( makeAny((double)0.0) );
-
- Reference< XAnimationNode > xMainSequenceNode( mxSequenceRoot, UNO_QUERY_THROW );
- mxTimingRootNode->appendChild( xMainSequenceNode );
- }
+ mxSequenceRoot = SequenceTimeContainer::create( ::comphelper::getProcessComponentContext() );
+
+ uno::Sequence< ::com::sun::star::beans::NamedValue > aUserData( 1 );
+ aUserData[0].Name = "node-type";
+ aUserData[0].Value <<= ::com::sun::star::presentation::EffectNodeType::MAIN_SEQUENCE;
+ mxSequenceRoot->setUserData( aUserData );
+
+ // empty sequence until now, set duration to 0.0
+ // explicitly (otherwise, this sequence will never
+ // end)
+ mxSequenceRoot->setDuration( makeAny((double)0.0) );
+
+ Reference< XAnimationNode > xMainSequenceNode( mxSequenceRoot, UNO_QUERY_THROW );
+ mxTimingRootNode->appendChild( xMainSequenceNode );
}
updateTextGroups();
@@ -3377,20 +3376,18 @@ InteractiveSequencePtr MainSequence::createInteractiveSequence( const ::com::sun
InteractiveSequencePtr pIS;
// create a new interactive sequence container
- Reference< XTimeContainer > xISRoot( ::comphelper::getProcessServiceFactory()->createInstance("com.sun.star.animations.SequenceTimeContainer"), UNO_QUERY );
- DBG_ASSERT( xISRoot.is(), "sd::MainSequence::createInteractiveSequence(), could not create \"com.sun.star.animations.SequenceTimeContainer\"!");
- if( xISRoot.is() )
- {
- uno::Sequence< ::com::sun::star::beans::NamedValue > aUserData( 1 );
- aUserData[0].Name = "node-type";
- aUserData[0].Value <<= ::com::sun::star::presentation::EffectNodeType::INTERACTIVE_SEQUENCE ;
- xISRoot->setUserData( aUserData );
+ Reference< XTimeContainer > xISRoot = SequenceTimeContainer::create( ::comphelper::getProcessComponentContext() );
+
+ uno::Sequence< ::com::sun::star::beans::NamedValue > aUserData( 1 );
+ aUserData[0].Name = "node-type";
+ aUserData[0].Value <<= ::com::sun::star::presentation::EffectNodeType::INTERACTIVE_SEQUENCE ;
+ xISRoot->setUserData( aUserData );
+
+ Reference< XChild > xChild( mxSequenceRoot, UNO_QUERY_THROW );
+ Reference< XAnimationNode > xISNode( xISRoot, UNO_QUERY_THROW );
+ Reference< XTimeContainer > xParent( xChild->getParent(), UNO_QUERY_THROW );
+ xParent->appendChild( xISNode );
- Reference< XChild > xChild( mxSequenceRoot, UNO_QUERY_THROW );
- Reference< XAnimationNode > xISNode( xISRoot, UNO_QUERY_THROW );
- Reference< XTimeContainer > xParent( xChild->getParent(), UNO_QUERY_THROW );
- xParent->appendChild( xISNode );
- }
pIS.reset( new InteractiveSequence( xISRoot, this) );
pIS->setTriggerShape( xShape );
pIS->addListener( this );
diff --git a/xmloff/source/draw/animationimport.cxx b/xmloff/source/draw/animationimport.cxx
index 6949a0476d8e..32eeae9baa1c 100644
--- a/xmloff/source/draw/animationimport.cxx
+++ b/xmloff/source/draw/animationimport.cxx
@@ -26,6 +26,7 @@
#include <com/sun/star/presentation/AnimationEffect.hpp>
#include <com/sun/star/presentation/AnimationSpeed.hpp>
#include <com/sun/star/animations/AnimationNodeType.hpp>
+#include <com/sun/star/animations/SequenceTimeContainer.hpp>
#include <com/sun/star/animations/XIterateContainer.hpp>
#include <com/sun/star/animations/XAnimateMotion.hpp>
#include <com/sun/star/animations/XAnimateColor.hpp>
@@ -75,19 +76,10 @@ using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::animations;
using namespace ::com::sun::star::presentation;
using namespace ::com::sun::star::drawing;
+using namespace ::com::sun::star::uno;
using namespace ::xmloff::token;
using ::com::sun::star::xml::sax::XAttributeList;
-using ::com::sun::star::uno::Any;
-using ::com::sun::star::uno::makeAny;
-using ::com::sun::star::uno::UNO_QUERY;
-using ::com::sun::star::uno::UNO_QUERY_THROW;
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::uno::RuntimeException;
-using ::com::sun::star::uno::Exception;
-using ::com::sun::star::uno::XInterface;
-using ::com::sun::star::uno::Type;
using ::com::sun::star::beans::NamedValue;
using ::com::sun::star::text::XTextRange;
using ::com::sun::star::text::XTextCursor;
@@ -1267,7 +1259,7 @@ SvXMLImportContext * AnimationNodeContext::CreateChildContext( sal_uInt16 nPrefi
class AnimationsImport: public SvXMLImport, public XAnimationNodeSupplier
{
public:
- AnimationsImport( const Reference< XMultiServiceFactory > & rSMgr );
+ AnimationsImport( const Reference< XComponentContext > & rxContext );
~AnimationsImport() throw ();
SvXMLImportContext* CreateContext(sal_uInt16 nPrefix, const OUString& rLocalName, const Reference<XAttributeList>& xAttrList);
@@ -1289,8 +1281,8 @@ private:
Reference< XAnimationNode > mxRootNode;
};
-AnimationsImport::AnimationsImport( const Reference< XMultiServiceFactory > & rSMgr )
-: SvXMLImport( rSMgr, true )
+AnimationsImport::AnimationsImport( const Reference< XComponentContext > & rxContext )
+: SvXMLImport( Reference<XMultiServiceFactory>(rxContext->getServiceManager(), UNO_QUERY_THROW) , true )
{
// add namespaces
GetNamespaceMap().Add(
@@ -1308,8 +1300,7 @@ AnimationsImport::AnimationsImport( const Reference< XMultiServiceFactory > & rS
GetXMLToken(XML_N_ANIMATION),
XML_NAMESPACE_ANIMATION);
- mxRootNode = Reference< XAnimationNode >::query(rSMgr->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.animations.SequenceTimeContainer"))));
+ mxRootNode = Reference<XAnimationNode>( SequenceTimeContainer::create(rxContext), UNO_QUERY_THROW );
}
AnimationsImport::~AnimationsImport() throw ()
@@ -1456,8 +1447,7 @@ OUString SAL_CALL AnimationsImport_getImplementationName() throw()
Reference< XInterface > SAL_CALL AnimationsImport_createInstance(const Reference< XMultiServiceFactory > & rSMgr) throw( Exception )
{
- return (cppu::OWeakObject*)new xmloff::AnimationsImport( rSMgr );
-
+ return (cppu::OWeakObject*)new xmloff::AnimationsImport( comphelper::getComponentContext(rSMgr) );
}
namespace xmloff