1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
26*b1cdbd2cSJim Jagielski #include "precompiled_sd.hxx"
27*b1cdbd2cSJim Jagielski #include <com/sun/star/animations/XTimeContainer.hpp>
28*b1cdbd2cSJim Jagielski #include <com/sun/star/presentation/ParagraphTarget.hpp>
29*b1cdbd2cSJim Jagielski #include <com/sun/star/animations/AnimationFill.hpp>
30*b1cdbd2cSJim Jagielski #include <com/sun/star/animations/XAnimate.hpp>
31*b1cdbd2cSJim Jagielski #include <com/sun/star/animations/AnimationRestart.hpp>
32*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp>
33*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XInitialization.hpp>
34*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XEnumerationAccess.hpp>
35*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XCloneable.hpp>
36*b1cdbd2cSJim Jagielski #include <comphelper/processfactory.hxx>
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase5.hxx>
39*b1cdbd2cSJim Jagielski #include <osl/mutex.hxx>
40*b1cdbd2cSJim Jagielski #include "CustomAnimationPreset.hxx"
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski using ::osl::Mutex;
43*b1cdbd2cSJim Jagielski using ::osl::Guard;
44*b1cdbd2cSJim Jagielski using ::rtl::OUString;
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Reference;
47*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::RuntimeException;
48*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Exception;
49*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Sequence;
50*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Any;
51*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::UNO_QUERY;
52*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::XInterface;
53*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::NoSupportException;
54*b1cdbd2cSJim Jagielski using ::com::sun::star::beans::NamedValue;
55*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::IllegalArgumentException;
56*b1cdbd2cSJim Jagielski using ::com::sun::star::container::NoSuchElementException;
57*b1cdbd2cSJim Jagielski using ::com::sun::star::container::ElementExistException;
58*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::WrappedTargetException;
59*b1cdbd2cSJim Jagielski using ::com::sun::star::container::XEnumeration;
60*b1cdbd2cSJim Jagielski using ::com::sun::star::container::XEnumerationAccess;
61*b1cdbd2cSJim Jagielski using ::com::sun::star::util::XCloneable;
62*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::XServiceInfo;
63*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::XInitialization;
64*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::Type;
65*b1cdbd2cSJim Jagielski using ::com::sun::star::uno::XWeak;
66*b1cdbd2cSJim Jagielski using ::com::sun::star::lang::XMultiServiceFactory;
67*b1cdbd2cSJim Jagielski using ::com::sun::star::presentation::ParagraphTarget;
68*b1cdbd2cSJim Jagielski using ::com::sun::star::drawing::XShape;
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim Jagielski using namespace ::com::sun::star::animations;
71*b1cdbd2cSJim Jagielski namespace sd
72*b1cdbd2cSJim Jagielski {
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper5< XTimeContainer, XEnumerationAccess, XCloneable, XServiceInfo, XInitialization > RandomAnimationNodeBase;
75*b1cdbd2cSJim Jagielski class RandomAnimationNode : public RandomAnimationNodeBase
76*b1cdbd2cSJim Jagielski {
77*b1cdbd2cSJim Jagielski public:
78*b1cdbd2cSJim Jagielski RandomAnimationNode( const RandomAnimationNode& rNode );
79*b1cdbd2cSJim Jagielski RandomAnimationNode( sal_Int16 nPresetClass );
80*b1cdbd2cSJim Jagielski RandomAnimationNode();
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski void init( sal_Int16 nPresetClass );
83*b1cdbd2cSJim Jagielski
84*b1cdbd2cSJim Jagielski // XInitialization
85*b1cdbd2cSJim Jagielski void SAL_CALL initialize( const Sequence< Any >& aArguments ) throw (Exception, RuntimeException);
86*b1cdbd2cSJim Jagielski
87*b1cdbd2cSJim Jagielski // XChild
88*b1cdbd2cSJim Jagielski Reference< XInterface > SAL_CALL getParent( ) throw (RuntimeException);
89*b1cdbd2cSJim Jagielski void SAL_CALL setParent( const Reference< XInterface >& Parent ) throw (NoSupportException, RuntimeException);
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski // XCloneable
92*b1cdbd2cSJim Jagielski virtual Reference< XCloneable > SAL_CALL createClone() throw (RuntimeException);
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski // XServiceInfo
95*b1cdbd2cSJim Jagielski OUString SAL_CALL getImplementationName() throw();
96*b1cdbd2cSJim Jagielski Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw();
97*b1cdbd2cSJim Jagielski sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw();
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski // XAnimationNode
100*b1cdbd2cSJim Jagielski ::sal_Int16 SAL_CALL getType() throw (RuntimeException);
101*b1cdbd2cSJim Jagielski Any SAL_CALL getBegin() throw (RuntimeException);
102*b1cdbd2cSJim Jagielski void SAL_CALL setBegin( const Any& _begin ) throw (RuntimeException);
103*b1cdbd2cSJim Jagielski Any SAL_CALL getDuration() throw (RuntimeException);
104*b1cdbd2cSJim Jagielski void SAL_CALL setDuration( const Any& _duration ) throw (RuntimeException);
105*b1cdbd2cSJim Jagielski Any SAL_CALL getEnd() throw (RuntimeException);
106*b1cdbd2cSJim Jagielski void SAL_CALL setEnd( const Any& _end ) throw (RuntimeException);
107*b1cdbd2cSJim Jagielski Any SAL_CALL getEndSync() throw (RuntimeException);
108*b1cdbd2cSJim Jagielski void SAL_CALL setEndSync( const Any& _endsync ) throw (RuntimeException);
109*b1cdbd2cSJim Jagielski Any SAL_CALL getRepeatCount() throw (RuntimeException);
110*b1cdbd2cSJim Jagielski void SAL_CALL setRepeatCount( const Any& _repeatcount ) throw (RuntimeException);
111*b1cdbd2cSJim Jagielski Any SAL_CALL getRepeatDuration() throw (RuntimeException);
112*b1cdbd2cSJim Jagielski void SAL_CALL setRepeatDuration( const Any& _repeatduration ) throw (RuntimeException);
113*b1cdbd2cSJim Jagielski ::sal_Int16 SAL_CALL getFill() throw (RuntimeException);
114*b1cdbd2cSJim Jagielski void SAL_CALL setFill( ::sal_Int16 _fill ) throw (RuntimeException);
115*b1cdbd2cSJim Jagielski ::sal_Int16 SAL_CALL getFillDefault() throw (RuntimeException);
116*b1cdbd2cSJim Jagielski void SAL_CALL setFillDefault( ::sal_Int16 _filldefault ) throw (RuntimeException);
117*b1cdbd2cSJim Jagielski ::sal_Int16 SAL_CALL getRestart() throw (RuntimeException);
118*b1cdbd2cSJim Jagielski void SAL_CALL setRestart( ::sal_Int16 _restart ) throw (RuntimeException);
119*b1cdbd2cSJim Jagielski ::sal_Int16 SAL_CALL getRestartDefault() throw (RuntimeException);
120*b1cdbd2cSJim Jagielski void SAL_CALL setRestartDefault( ::sal_Int16 _restartdefault ) throw (RuntimeException);
121*b1cdbd2cSJim Jagielski double SAL_CALL getAcceleration() throw (RuntimeException);
122*b1cdbd2cSJim Jagielski void SAL_CALL setAcceleration( double _acceleration ) throw (RuntimeException);
123*b1cdbd2cSJim Jagielski double SAL_CALL getDecelerate() throw (RuntimeException);
124*b1cdbd2cSJim Jagielski void SAL_CALL setDecelerate( double _decelerate ) throw (RuntimeException);
125*b1cdbd2cSJim Jagielski ::sal_Bool SAL_CALL getAutoReverse() throw (RuntimeException);
126*b1cdbd2cSJim Jagielski void SAL_CALL setAutoReverse( ::sal_Bool _autoreverse ) throw (RuntimeException);
127*b1cdbd2cSJim Jagielski Sequence< NamedValue > SAL_CALL getUserData() throw (RuntimeException);
128*b1cdbd2cSJim Jagielski void SAL_CALL setUserData( const Sequence< NamedValue >& _userdata ) throw (RuntimeException);
129*b1cdbd2cSJim Jagielski
130*b1cdbd2cSJim Jagielski // XElementAccess
131*b1cdbd2cSJim Jagielski virtual Type SAL_CALL getElementType() throw (RuntimeException);
132*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL hasElements() throw (RuntimeException);
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielski // XEnumerationAccess
135*b1cdbd2cSJim Jagielski virtual Reference< XEnumeration > SAL_CALL createEnumeration() throw (RuntimeException);
136*b1cdbd2cSJim Jagielski
137*b1cdbd2cSJim Jagielski // XTimeContainer
138*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL insertBefore( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& refChild ) throw (IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException);
139*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL insertAfter( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& refChild ) throw (IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException);
140*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL replaceChild( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& oldChild ) throw (IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException);
141*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL removeChild( const Reference< XAnimationNode >& oldChild ) throw (IllegalArgumentException, NoSuchElementException, WrappedTargetException, RuntimeException);
142*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL appendChild( const Reference< XAnimationNode >& newChild ) throw (IllegalArgumentException, ElementExistException, WrappedTargetException, RuntimeException);
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim Jagielski private:
145*b1cdbd2cSJim Jagielski // our first, last and only protection from mutli-threads!
146*b1cdbd2cSJim Jagielski Mutex maMutex;
147*b1cdbd2cSJim Jagielski
148*b1cdbd2cSJim Jagielski sal_Int16 mnPresetClass;
149*b1cdbd2cSJim Jagielski Reference< XInterface > mxParent;
150*b1cdbd2cSJim Jagielski
151*b1cdbd2cSJim Jagielski Any maBegin, maDuration, maEnd, maEndSync, maRepeatCount, maRepeatDuration, maTarget;
152*b1cdbd2cSJim Jagielski sal_Int16 mnFill, mnFillDefault, mnRestart, mnRestartDefault;
153*b1cdbd2cSJim Jagielski double mfAcceleration, mfDecelerate;
154*b1cdbd2cSJim Jagielski sal_Bool mbAutoReverse;
155*b1cdbd2cSJim Jagielski Sequence< NamedValue > maUserData;
156*b1cdbd2cSJim Jagielski
157*b1cdbd2cSJim Jagielski Reference< XAnimate > mxFirstNode;
158*b1cdbd2cSJim Jagielski };
159*b1cdbd2cSJim Jagielski
160*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
161*b1cdbd2cSJim Jagielski
162*b1cdbd2cSJim Jagielski static const sal_Char* pSN1 = "com.sun.star.animations.ParallelTimeContainer";
163*b1cdbd2cSJim Jagielski static const sal_Char* pSN2 = "com.sun.star.comp.sd.RandomAnimationNode";
164*b1cdbd2cSJim Jagielski
165*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
166*b1cdbd2cSJim Jagielski
RandomAnimationNode_createInstance(sal_Int16 nPresetClass)167*b1cdbd2cSJim Jagielski SD_DLLPUBLIC Reference< XInterface > RandomAnimationNode_createInstance( sal_Int16 nPresetClass )
168*b1cdbd2cSJim Jagielski {
169*b1cdbd2cSJim Jagielski Reference< XInterface > xInt( static_cast<XWeak*>( new RandomAnimationNode( nPresetClass ) ) );
170*b1cdbd2cSJim Jagielski return xInt;
171*b1cdbd2cSJim Jagielski }
172*b1cdbd2cSJim Jagielski
173*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
174*b1cdbd2cSJim Jagielski
RandomNode_createInstance(const Reference<XMultiServiceFactory> &)175*b1cdbd2cSJim Jagielski Reference< XInterface > SAL_CALL RandomNode_createInstance( const Reference< XMultiServiceFactory > & )
176*b1cdbd2cSJim Jagielski {
177*b1cdbd2cSJim Jagielski Reference< XInterface > xInt( static_cast<XWeak*>( new RandomAnimationNode() ) );
178*b1cdbd2cSJim Jagielski return xInt;
179*b1cdbd2cSJim Jagielski }
180*b1cdbd2cSJim Jagielski
181*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
182*b1cdbd2cSJim Jagielski
RandomNode__getImplementationName()183*b1cdbd2cSJim Jagielski OUString RandomNode__getImplementationName() throw( RuntimeException )
184*b1cdbd2cSJim Jagielski {
185*b1cdbd2cSJim Jagielski return OUString( RTL_CONSTASCII_USTRINGPARAM( "sd::RandomAnimationNode" ) );
186*b1cdbd2cSJim Jagielski }
187*b1cdbd2cSJim Jagielski
188*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
189*b1cdbd2cSJim Jagielski
RandomNode_getSupportedServiceNames()190*b1cdbd2cSJim Jagielski Sequence< OUString > SAL_CALL RandomNode_getSupportedServiceNames() throw( RuntimeException )
191*b1cdbd2cSJim Jagielski {
192*b1cdbd2cSJim Jagielski // static const OUString aSN1( OUString::createFromAscii( pSN1 ) );
193*b1cdbd2cSJim Jagielski static const OUString aSN2( OUString::createFromAscii( pSN2 ) );
194*b1cdbd2cSJim Jagielski Sequence< OUString > aSeq( &aSN2, 1 );
195*b1cdbd2cSJim Jagielski // aSeq[0] = aSN1;
196*b1cdbd2cSJim Jagielski /// aSeq[1] = aSN2;
197*b1cdbd2cSJim Jagielski return aSeq;
198*b1cdbd2cSJim Jagielski }
199*b1cdbd2cSJim Jagielski
200*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
201*b1cdbd2cSJim Jagielski
RandomAnimationNode(const RandomAnimationNode & rNode)202*b1cdbd2cSJim Jagielski RandomAnimationNode::RandomAnimationNode( const RandomAnimationNode& rNode )
203*b1cdbd2cSJim Jagielski : RandomAnimationNodeBase(),
204*b1cdbd2cSJim Jagielski mnPresetClass( rNode.mnPresetClass ),
205*b1cdbd2cSJim Jagielski maBegin( rNode.maBegin ),
206*b1cdbd2cSJim Jagielski maDuration( rNode.maDuration ),
207*b1cdbd2cSJim Jagielski maEnd( rNode.maEnd ),
208*b1cdbd2cSJim Jagielski maEndSync( rNode.maEndSync ),
209*b1cdbd2cSJim Jagielski maRepeatCount( rNode.maRepeatCount ),
210*b1cdbd2cSJim Jagielski maRepeatDuration( rNode.maRepeatDuration ),
211*b1cdbd2cSJim Jagielski maTarget( rNode.maTarget ),
212*b1cdbd2cSJim Jagielski mnFill( rNode.mnFill ),
213*b1cdbd2cSJim Jagielski mnFillDefault( rNode.mnFillDefault ),
214*b1cdbd2cSJim Jagielski mnRestart( rNode.mnRestart ),
215*b1cdbd2cSJim Jagielski mnRestartDefault( rNode.mnRestartDefault ),
216*b1cdbd2cSJim Jagielski mfAcceleration( rNode.mfAcceleration ),
217*b1cdbd2cSJim Jagielski mfDecelerate( rNode.mfDecelerate ),
218*b1cdbd2cSJim Jagielski mbAutoReverse( rNode.mbAutoReverse ),
219*b1cdbd2cSJim Jagielski maUserData( rNode.maUserData )
220*b1cdbd2cSJim Jagielski {
221*b1cdbd2cSJim Jagielski }
222*b1cdbd2cSJim Jagielski
223*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
224*b1cdbd2cSJim Jagielski
RandomAnimationNode(sal_Int16 nPresetClass)225*b1cdbd2cSJim Jagielski RandomAnimationNode::RandomAnimationNode( sal_Int16 nPresetClass )
226*b1cdbd2cSJim Jagielski {
227*b1cdbd2cSJim Jagielski init( nPresetClass );
228*b1cdbd2cSJim Jagielski }
229*b1cdbd2cSJim Jagielski
RandomAnimationNode()230*b1cdbd2cSJim Jagielski RandomAnimationNode::RandomAnimationNode()
231*b1cdbd2cSJim Jagielski {
232*b1cdbd2cSJim Jagielski init( 1 );
233*b1cdbd2cSJim Jagielski }
234*b1cdbd2cSJim Jagielski
init(sal_Int16 nPresetClass)235*b1cdbd2cSJim Jagielski void RandomAnimationNode::init( sal_Int16 nPresetClass )
236*b1cdbd2cSJim Jagielski {
237*b1cdbd2cSJim Jagielski mnPresetClass = nPresetClass;
238*b1cdbd2cSJim Jagielski mnFill = AnimationFill::DEFAULT;
239*b1cdbd2cSJim Jagielski mnFillDefault = AnimationFill::INHERIT;
240*b1cdbd2cSJim Jagielski mnRestart = AnimationRestart::DEFAULT;
241*b1cdbd2cSJim Jagielski mnRestartDefault = AnimationRestart::INHERIT;
242*b1cdbd2cSJim Jagielski mfAcceleration = 0.0;
243*b1cdbd2cSJim Jagielski mfDecelerate = 0.0;
244*b1cdbd2cSJim Jagielski mbAutoReverse = sal_False;
245*b1cdbd2cSJim Jagielski }
246*b1cdbd2cSJim Jagielski
247*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
248*b1cdbd2cSJim Jagielski
249*b1cdbd2cSJim Jagielski // XInitialization
initialize(const Sequence<Any> & aArguments)250*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::initialize( const Sequence< Any >& aArguments ) throw (Exception, RuntimeException)
251*b1cdbd2cSJim Jagielski {
252*b1cdbd2cSJim Jagielski if( aArguments.getLength() != 1 )
253*b1cdbd2cSJim Jagielski throw IllegalArgumentException();
254*b1cdbd2cSJim Jagielski
255*b1cdbd2cSJim Jagielski if( aArguments[0].getValueType() == ::getCppuType((const sal_Int16*)0) )
256*b1cdbd2cSJim Jagielski {
257*b1cdbd2cSJim Jagielski aArguments[0] >>= mnPresetClass;
258*b1cdbd2cSJim Jagielski }
259*b1cdbd2cSJim Jagielski else if( aArguments[0].getValueType() != ::getCppuType((const ParagraphTarget*)0) )
260*b1cdbd2cSJim Jagielski {
261*b1cdbd2cSJim Jagielski Reference< XShape > xShape;
262*b1cdbd2cSJim Jagielski aArguments[0] >>= xShape;
263*b1cdbd2cSJim Jagielski if( !xShape.is() )
264*b1cdbd2cSJim Jagielski throw IllegalArgumentException();
265*b1cdbd2cSJim Jagielski }
266*b1cdbd2cSJim Jagielski maTarget = aArguments[0];
267*b1cdbd2cSJim Jagielski }
268*b1cdbd2cSJim Jagielski
269*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
270*b1cdbd2cSJim Jagielski
271*b1cdbd2cSJim Jagielski // XAnimationNode
getType()272*b1cdbd2cSJim Jagielski sal_Int16 SAL_CALL RandomAnimationNode::getType() throw (RuntimeException)
273*b1cdbd2cSJim Jagielski {
274*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
275*b1cdbd2cSJim Jagielski return ::com::sun::star::animations::AnimationNodeType::PAR;
276*b1cdbd2cSJim Jagielski }
277*b1cdbd2cSJim Jagielski
278*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
279*b1cdbd2cSJim Jagielski
280*b1cdbd2cSJim Jagielski // XAnimationNode
getBegin()281*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getBegin() throw (RuntimeException)
282*b1cdbd2cSJim Jagielski {
283*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
284*b1cdbd2cSJim Jagielski return maBegin;
285*b1cdbd2cSJim Jagielski }
286*b1cdbd2cSJim Jagielski
287*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
288*b1cdbd2cSJim Jagielski
289*b1cdbd2cSJim Jagielski // XAnimationNode
setBegin(const Any & _begin)290*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setBegin( const Any& _begin ) throw (RuntimeException)
291*b1cdbd2cSJim Jagielski {
292*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
293*b1cdbd2cSJim Jagielski maBegin = _begin;
294*b1cdbd2cSJim Jagielski }
295*b1cdbd2cSJim Jagielski
296*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
297*b1cdbd2cSJim Jagielski
298*b1cdbd2cSJim Jagielski // XAnimationNode
getDuration()299*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getDuration() throw (RuntimeException)
300*b1cdbd2cSJim Jagielski {
301*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
302*b1cdbd2cSJim Jagielski return maDuration;
303*b1cdbd2cSJim Jagielski }
304*b1cdbd2cSJim Jagielski
305*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
306*b1cdbd2cSJim Jagielski
307*b1cdbd2cSJim Jagielski // XAnimationNode
setDuration(const Any & _duration)308*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setDuration( const Any& _duration ) throw (RuntimeException)
309*b1cdbd2cSJim Jagielski {
310*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
311*b1cdbd2cSJim Jagielski maDuration = _duration;
312*b1cdbd2cSJim Jagielski }
313*b1cdbd2cSJim Jagielski
314*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
315*b1cdbd2cSJim Jagielski
316*b1cdbd2cSJim Jagielski // XAnimationNode
getEnd()317*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getEnd() throw (RuntimeException)
318*b1cdbd2cSJim Jagielski {
319*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
320*b1cdbd2cSJim Jagielski return maEnd;
321*b1cdbd2cSJim Jagielski }
322*b1cdbd2cSJim Jagielski
323*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
324*b1cdbd2cSJim Jagielski
325*b1cdbd2cSJim Jagielski // XAnimationNode
setEnd(const Any & _end)326*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setEnd( const Any& _end ) throw (RuntimeException)
327*b1cdbd2cSJim Jagielski {
328*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
329*b1cdbd2cSJim Jagielski maEnd = _end;
330*b1cdbd2cSJim Jagielski }
331*b1cdbd2cSJim Jagielski
332*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
333*b1cdbd2cSJim Jagielski
334*b1cdbd2cSJim Jagielski // XAnimationNode
getEndSync()335*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getEndSync() throw (RuntimeException)
336*b1cdbd2cSJim Jagielski {
337*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
338*b1cdbd2cSJim Jagielski return maEndSync;
339*b1cdbd2cSJim Jagielski }
340*b1cdbd2cSJim Jagielski
341*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
342*b1cdbd2cSJim Jagielski
343*b1cdbd2cSJim Jagielski // XAnimationNode
setEndSync(const Any & _endsync)344*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setEndSync( const Any& _endsync ) throw (RuntimeException)
345*b1cdbd2cSJim Jagielski {
346*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
347*b1cdbd2cSJim Jagielski maEndSync = _endsync;
348*b1cdbd2cSJim Jagielski }
349*b1cdbd2cSJim Jagielski
350*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
351*b1cdbd2cSJim Jagielski
352*b1cdbd2cSJim Jagielski // XAnimationNode
getRepeatCount()353*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getRepeatCount() throw (RuntimeException)
354*b1cdbd2cSJim Jagielski {
355*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
356*b1cdbd2cSJim Jagielski return maRepeatCount;
357*b1cdbd2cSJim Jagielski }
358*b1cdbd2cSJim Jagielski
359*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
360*b1cdbd2cSJim Jagielski
361*b1cdbd2cSJim Jagielski // XAnimationNode
setRepeatCount(const Any & _repeatcount)362*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setRepeatCount( const Any& _repeatcount ) throw (RuntimeException)
363*b1cdbd2cSJim Jagielski {
364*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
365*b1cdbd2cSJim Jagielski maRepeatCount = _repeatcount;
366*b1cdbd2cSJim Jagielski }
367*b1cdbd2cSJim Jagielski
368*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
369*b1cdbd2cSJim Jagielski
370*b1cdbd2cSJim Jagielski // XAnimationNode
getRepeatDuration()371*b1cdbd2cSJim Jagielski Any SAL_CALL RandomAnimationNode::getRepeatDuration() throw (RuntimeException)
372*b1cdbd2cSJim Jagielski {
373*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
374*b1cdbd2cSJim Jagielski return maRepeatDuration;
375*b1cdbd2cSJim Jagielski }
376*b1cdbd2cSJim Jagielski
377*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
378*b1cdbd2cSJim Jagielski
379*b1cdbd2cSJim Jagielski // XAnimationNode
setRepeatDuration(const Any & _repeatduration)380*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setRepeatDuration( const Any& _repeatduration ) throw (RuntimeException)
381*b1cdbd2cSJim Jagielski {
382*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
383*b1cdbd2cSJim Jagielski maRepeatDuration = _repeatduration;
384*b1cdbd2cSJim Jagielski }
385*b1cdbd2cSJim Jagielski
386*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
387*b1cdbd2cSJim Jagielski
388*b1cdbd2cSJim Jagielski // XAnimationNode
getFill()389*b1cdbd2cSJim Jagielski sal_Int16 SAL_CALL RandomAnimationNode::getFill() throw (RuntimeException)
390*b1cdbd2cSJim Jagielski {
391*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
392*b1cdbd2cSJim Jagielski return mnFill;
393*b1cdbd2cSJim Jagielski }
394*b1cdbd2cSJim Jagielski
395*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
396*b1cdbd2cSJim Jagielski
397*b1cdbd2cSJim Jagielski // XAnimationNode
setFill(sal_Int16 _fill)398*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setFill( sal_Int16 _fill ) throw (RuntimeException)
399*b1cdbd2cSJim Jagielski {
400*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
401*b1cdbd2cSJim Jagielski mnFill = _fill;
402*b1cdbd2cSJim Jagielski }
403*b1cdbd2cSJim Jagielski
404*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
405*b1cdbd2cSJim Jagielski
406*b1cdbd2cSJim Jagielski // XAnimationNode
getFillDefault()407*b1cdbd2cSJim Jagielski sal_Int16 SAL_CALL RandomAnimationNode::getFillDefault() throw (RuntimeException)
408*b1cdbd2cSJim Jagielski {
409*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
410*b1cdbd2cSJim Jagielski return mnFillDefault;
411*b1cdbd2cSJim Jagielski }
412*b1cdbd2cSJim Jagielski
413*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
414*b1cdbd2cSJim Jagielski
415*b1cdbd2cSJim Jagielski // XAnimationNode
setFillDefault(sal_Int16 _filldefault)416*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setFillDefault( sal_Int16 _filldefault ) throw (RuntimeException)
417*b1cdbd2cSJim Jagielski {
418*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
419*b1cdbd2cSJim Jagielski mnFillDefault = _filldefault;
420*b1cdbd2cSJim Jagielski }
421*b1cdbd2cSJim Jagielski
422*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
423*b1cdbd2cSJim Jagielski
424*b1cdbd2cSJim Jagielski // XAnimationNode
getRestart()425*b1cdbd2cSJim Jagielski sal_Int16 SAL_CALL RandomAnimationNode::getRestart() throw (RuntimeException)
426*b1cdbd2cSJim Jagielski {
427*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
428*b1cdbd2cSJim Jagielski return mnRestart;
429*b1cdbd2cSJim Jagielski }
430*b1cdbd2cSJim Jagielski
431*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
432*b1cdbd2cSJim Jagielski
433*b1cdbd2cSJim Jagielski // XAnimationNode
setRestart(sal_Int16 _restart)434*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setRestart( sal_Int16 _restart ) throw (RuntimeException)
435*b1cdbd2cSJim Jagielski {
436*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
437*b1cdbd2cSJim Jagielski mnRestart = _restart;
438*b1cdbd2cSJim Jagielski }
439*b1cdbd2cSJim Jagielski
440*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
441*b1cdbd2cSJim Jagielski
442*b1cdbd2cSJim Jagielski // XAnimationNode
getRestartDefault()443*b1cdbd2cSJim Jagielski sal_Int16 SAL_CALL RandomAnimationNode::getRestartDefault() throw (RuntimeException)
444*b1cdbd2cSJim Jagielski {
445*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
446*b1cdbd2cSJim Jagielski return mnRestartDefault;
447*b1cdbd2cSJim Jagielski }
448*b1cdbd2cSJim Jagielski
449*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
450*b1cdbd2cSJim Jagielski
451*b1cdbd2cSJim Jagielski // XAnimationNode
setRestartDefault(sal_Int16 _restartdefault)452*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setRestartDefault( sal_Int16 _restartdefault ) throw (RuntimeException)
453*b1cdbd2cSJim Jagielski {
454*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
455*b1cdbd2cSJim Jagielski mnRestartDefault = _restartdefault;
456*b1cdbd2cSJim Jagielski }
457*b1cdbd2cSJim Jagielski
458*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
459*b1cdbd2cSJim Jagielski
460*b1cdbd2cSJim Jagielski // XAnimationNode
getAcceleration()461*b1cdbd2cSJim Jagielski double SAL_CALL RandomAnimationNode::getAcceleration() throw (RuntimeException)
462*b1cdbd2cSJim Jagielski {
463*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
464*b1cdbd2cSJim Jagielski return mfAcceleration;
465*b1cdbd2cSJim Jagielski }
466*b1cdbd2cSJim Jagielski
467*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
468*b1cdbd2cSJim Jagielski
469*b1cdbd2cSJim Jagielski // XAnimationNode
setAcceleration(double _acceleration)470*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setAcceleration( double _acceleration ) throw (RuntimeException)
471*b1cdbd2cSJim Jagielski {
472*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
473*b1cdbd2cSJim Jagielski mfAcceleration = _acceleration;
474*b1cdbd2cSJim Jagielski }
475*b1cdbd2cSJim Jagielski
476*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
477*b1cdbd2cSJim Jagielski
478*b1cdbd2cSJim Jagielski // XAnimationNode
getDecelerate()479*b1cdbd2cSJim Jagielski double SAL_CALL RandomAnimationNode::getDecelerate() throw (RuntimeException)
480*b1cdbd2cSJim Jagielski {
481*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
482*b1cdbd2cSJim Jagielski return mfDecelerate;
483*b1cdbd2cSJim Jagielski }
484*b1cdbd2cSJim Jagielski
485*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
486*b1cdbd2cSJim Jagielski
487*b1cdbd2cSJim Jagielski // XAnimationNode
setDecelerate(double _decelerate)488*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setDecelerate( double _decelerate ) throw (RuntimeException)
489*b1cdbd2cSJim Jagielski {
490*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
491*b1cdbd2cSJim Jagielski mfDecelerate = _decelerate;
492*b1cdbd2cSJim Jagielski }
493*b1cdbd2cSJim Jagielski
494*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
495*b1cdbd2cSJim Jagielski
496*b1cdbd2cSJim Jagielski // XAnimationNode
getAutoReverse()497*b1cdbd2cSJim Jagielski sal_Bool SAL_CALL RandomAnimationNode::getAutoReverse() throw (RuntimeException)
498*b1cdbd2cSJim Jagielski {
499*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
500*b1cdbd2cSJim Jagielski return mbAutoReverse;
501*b1cdbd2cSJim Jagielski }
502*b1cdbd2cSJim Jagielski
503*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
504*b1cdbd2cSJim Jagielski
505*b1cdbd2cSJim Jagielski // XAnimationNode
setAutoReverse(sal_Bool _autoreverse)506*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setAutoReverse( sal_Bool _autoreverse ) throw (RuntimeException)
507*b1cdbd2cSJim Jagielski {
508*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
509*b1cdbd2cSJim Jagielski mbAutoReverse = _autoreverse;
510*b1cdbd2cSJim Jagielski }
511*b1cdbd2cSJim Jagielski
512*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
513*b1cdbd2cSJim Jagielski
getUserData()514*b1cdbd2cSJim Jagielski Sequence< NamedValue > SAL_CALL RandomAnimationNode::getUserData() throw (RuntimeException)
515*b1cdbd2cSJim Jagielski {
516*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
517*b1cdbd2cSJim Jagielski return maUserData;
518*b1cdbd2cSJim Jagielski }
519*b1cdbd2cSJim Jagielski
520*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
521*b1cdbd2cSJim Jagielski
setUserData(const Sequence<NamedValue> & _userdata)522*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setUserData( const Sequence< NamedValue >& _userdata ) throw (RuntimeException)
523*b1cdbd2cSJim Jagielski {
524*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
525*b1cdbd2cSJim Jagielski maUserData = _userdata;
526*b1cdbd2cSJim Jagielski }
527*b1cdbd2cSJim Jagielski
528*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
529*b1cdbd2cSJim Jagielski
530*b1cdbd2cSJim Jagielski // XChild
getParent()531*b1cdbd2cSJim Jagielski Reference< XInterface > SAL_CALL RandomAnimationNode::getParent() throw (RuntimeException)
532*b1cdbd2cSJim Jagielski {
533*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
534*b1cdbd2cSJim Jagielski return mxParent;
535*b1cdbd2cSJim Jagielski }
536*b1cdbd2cSJim Jagielski
537*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
538*b1cdbd2cSJim Jagielski
539*b1cdbd2cSJim Jagielski // XChild
setParent(const Reference<XInterface> & Parent)540*b1cdbd2cSJim Jagielski void SAL_CALL RandomAnimationNode::setParent( const Reference< XInterface >& Parent ) throw (NoSupportException, RuntimeException)
541*b1cdbd2cSJim Jagielski {
542*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
543*b1cdbd2cSJim Jagielski mxParent = Parent;
544*b1cdbd2cSJim Jagielski }
545*b1cdbd2cSJim Jagielski
546*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
547*b1cdbd2cSJim Jagielski
548*b1cdbd2cSJim Jagielski // XCloneable
createClone()549*b1cdbd2cSJim Jagielski Reference< XCloneable > SAL_CALL RandomAnimationNode::createClone() throw (RuntimeException)
550*b1cdbd2cSJim Jagielski {
551*b1cdbd2cSJim Jagielski Reference< XCloneable > xNewNode( new RandomAnimationNode( *this ) );
552*b1cdbd2cSJim Jagielski return xNewNode;
553*b1cdbd2cSJim Jagielski }
554*b1cdbd2cSJim Jagielski
555*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
556*b1cdbd2cSJim Jagielski
557*b1cdbd2cSJim Jagielski // XElementAccess
getElementType()558*b1cdbd2cSJim Jagielski Type SAL_CALL RandomAnimationNode::getElementType() throw (RuntimeException)
559*b1cdbd2cSJim Jagielski {
560*b1cdbd2cSJim Jagielski return ::getCppuType((const Reference< XAnimationNode >*)0);
561*b1cdbd2cSJim Jagielski }
562*b1cdbd2cSJim Jagielski
563*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
564*b1cdbd2cSJim Jagielski
565*b1cdbd2cSJim Jagielski // XElementAccess
hasElements()566*b1cdbd2cSJim Jagielski sal_Bool SAL_CALL RandomAnimationNode::hasElements() throw (RuntimeException)
567*b1cdbd2cSJim Jagielski {
568*b1cdbd2cSJim Jagielski return sal_True;
569*b1cdbd2cSJim Jagielski }
570*b1cdbd2cSJim Jagielski
571*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
572*b1cdbd2cSJim Jagielski
573*b1cdbd2cSJim Jagielski // XEnumerationAccess
createEnumeration()574*b1cdbd2cSJim Jagielski Reference< XEnumeration > SAL_CALL RandomAnimationNode::createEnumeration()
575*b1cdbd2cSJim Jagielski throw (RuntimeException)
576*b1cdbd2cSJim Jagielski {
577*b1cdbd2cSJim Jagielski Guard< Mutex > aGuard( maMutex );
578*b1cdbd2cSJim Jagielski
579*b1cdbd2cSJim Jagielski if( !maTarget.hasValue() && mxFirstNode.is() )
580*b1cdbd2cSJim Jagielski {
581*b1cdbd2cSJim Jagielski Any aTarget( mxFirstNode->getTarget() );
582*b1cdbd2cSJim Jagielski if( aTarget.hasValue() )
583*b1cdbd2cSJim Jagielski {
584*b1cdbd2cSJim Jagielski maTarget = aTarget;
585*b1cdbd2cSJim Jagielski mxFirstNode.clear();
586*b1cdbd2cSJim Jagielski }
587*b1cdbd2cSJim Jagielski }
588*b1cdbd2cSJim Jagielski
589*b1cdbd2cSJim Jagielski Reference< XEnumeration > xEnum;
590*b1cdbd2cSJim Jagielski
591*b1cdbd2cSJim Jagielski Reference< XEnumerationAccess > aEnumAccess( CustomAnimationPresets::getCustomAnimationPresets().getRandomPreset( mnPresetClass ), UNO_QUERY );
592*b1cdbd2cSJim Jagielski
593*b1cdbd2cSJim Jagielski if( aEnumAccess.is() )
594*b1cdbd2cSJim Jagielski {
595*b1cdbd2cSJim Jagielski Reference< XEnumeration > xEnumeration( aEnumAccess->createEnumeration(), UNO_QUERY );
596*b1cdbd2cSJim Jagielski if( xEnumeration.is() )
597*b1cdbd2cSJim Jagielski {
598*b1cdbd2cSJim Jagielski while( xEnumeration->hasMoreElements() )
599*b1cdbd2cSJim Jagielski {
600*b1cdbd2cSJim Jagielski Reference< XAnimate > xAnimate( xEnumeration->nextElement(), UNO_QUERY );
601*b1cdbd2cSJim Jagielski if( xAnimate.is() )
602*b1cdbd2cSJim Jagielski xAnimate->setTarget( maTarget );
603*b1cdbd2cSJim Jagielski }
604*b1cdbd2cSJim Jagielski }
605*b1cdbd2cSJim Jagielski xEnum = aEnumAccess->createEnumeration();
606*b1cdbd2cSJim Jagielski }
607*b1cdbd2cSJim Jagielski else
608*b1cdbd2cSJim Jagielski {
609*b1cdbd2cSJim Jagielski // no presets? give empty node!
610*b1cdbd2cSJim Jagielski Reference< XMultiServiceFactory > xServiceFactory( comphelper::getProcessServiceFactory() );
611*b1cdbd2cSJim Jagielski Reference< XEnumerationAccess > aEmptyEnumAccess(
612*b1cdbd2cSJim Jagielski xServiceFactory->createInstance(
613*b1cdbd2cSJim Jagielski OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.animations.ParallelTimeContainer" ))),
614*b1cdbd2cSJim Jagielski UNO_QUERY );
615*b1cdbd2cSJim Jagielski
616*b1cdbd2cSJim Jagielski if( aEmptyEnumAccess.is() )
617*b1cdbd2cSJim Jagielski xEnum = aEmptyEnumAccess->createEnumeration();
618*b1cdbd2cSJim Jagielski }
619*b1cdbd2cSJim Jagielski
620*b1cdbd2cSJim Jagielski return xEnum;
621*b1cdbd2cSJim Jagielski }
622*b1cdbd2cSJim Jagielski
623*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
624*b1cdbd2cSJim Jagielski
625*b1cdbd2cSJim Jagielski
626*b1cdbd2cSJim Jagielski // XTimeContainer
insertBefore(const Reference<XAnimationNode> & newChild,const Reference<XAnimationNode> &)627*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL RandomAnimationNode::insertBefore( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& )
628*b1cdbd2cSJim Jagielski throw (IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException)
629*b1cdbd2cSJim Jagielski {
630*b1cdbd2cSJim Jagielski return appendChild( newChild );
631*b1cdbd2cSJim Jagielski }
632*b1cdbd2cSJim Jagielski
633*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
634*b1cdbd2cSJim Jagielski
635*b1cdbd2cSJim Jagielski // XTimeContainer
insertAfter(const Reference<XAnimationNode> & newChild,const Reference<XAnimationNode> &)636*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL RandomAnimationNode::insertAfter( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& )
637*b1cdbd2cSJim Jagielski throw (IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException)
638*b1cdbd2cSJim Jagielski {
639*b1cdbd2cSJim Jagielski return appendChild( newChild );
640*b1cdbd2cSJim Jagielski }
641*b1cdbd2cSJim Jagielski
642*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
643*b1cdbd2cSJim Jagielski
644*b1cdbd2cSJim Jagielski // XTimeContainer
replaceChild(const Reference<XAnimationNode> & newChild,const Reference<XAnimationNode> &)645*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL RandomAnimationNode::replaceChild( const Reference< XAnimationNode >& newChild, const Reference< XAnimationNode >& )
646*b1cdbd2cSJim Jagielski throw( IllegalArgumentException, NoSuchElementException, ElementExistException, WrappedTargetException, RuntimeException)
647*b1cdbd2cSJim Jagielski {
648*b1cdbd2cSJim Jagielski return appendChild( newChild );
649*b1cdbd2cSJim Jagielski }
650*b1cdbd2cSJim Jagielski
651*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
652*b1cdbd2cSJim Jagielski
653*b1cdbd2cSJim Jagielski // XTimeContainer
removeChild(const Reference<XAnimationNode> & oldChild)654*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL RandomAnimationNode::removeChild( const Reference< XAnimationNode >& oldChild )
655*b1cdbd2cSJim Jagielski throw(IllegalArgumentException, NoSuchElementException, WrappedTargetException, RuntimeException)
656*b1cdbd2cSJim Jagielski {
657*b1cdbd2cSJim Jagielski return oldChild;
658*b1cdbd2cSJim Jagielski }
659*b1cdbd2cSJim Jagielski
660*b1cdbd2cSJim Jagielski // --------------------------------------------------------------------
661*b1cdbd2cSJim Jagielski
662*b1cdbd2cSJim Jagielski // XTimeContainer
appendChild(const Reference<XAnimationNode> & newChild)663*b1cdbd2cSJim Jagielski Reference< XAnimationNode > SAL_CALL RandomAnimationNode::appendChild( const Reference< XAnimationNode >& newChild )
664*b1cdbd2cSJim Jagielski throw(IllegalArgumentException, ElementExistException, WrappedTargetException, RuntimeException)
665*b1cdbd2cSJim Jagielski {
666*b1cdbd2cSJim Jagielski Reference< XAnimate > xAnimate( newChild, UNO_QUERY );
667*b1cdbd2cSJim Jagielski if( xAnimate.is() )
668*b1cdbd2cSJim Jagielski {
669*b1cdbd2cSJim Jagielski Any aTarget( xAnimate->getTarget() );
670*b1cdbd2cSJim Jagielski if( aTarget.hasValue() )
671*b1cdbd2cSJim Jagielski maTarget = aTarget;
672*b1cdbd2cSJim Jagielski }
673*b1cdbd2cSJim Jagielski
674*b1cdbd2cSJim Jagielski if( !maTarget.hasValue() && !mxFirstNode.is() )
675*b1cdbd2cSJim Jagielski mxFirstNode = xAnimate;
676*b1cdbd2cSJim Jagielski
677*b1cdbd2cSJim Jagielski return newChild;
678*b1cdbd2cSJim Jagielski }
679*b1cdbd2cSJim Jagielski
680*b1cdbd2cSJim Jagielski // XServiceInfo
getImplementationName()681*b1cdbd2cSJim Jagielski OUString RandomAnimationNode::getImplementationName() throw()
682*b1cdbd2cSJim Jagielski {
683*b1cdbd2cSJim Jagielski return RandomNode__getImplementationName();
684*b1cdbd2cSJim Jagielski }
685*b1cdbd2cSJim Jagielski
686*b1cdbd2cSJim Jagielski // XServiceInfo
supportsService(const OUString & ServiceName)687*b1cdbd2cSJim Jagielski sal_Bool RandomAnimationNode::supportsService(const OUString& ServiceName) throw()
688*b1cdbd2cSJim Jagielski {
689*b1cdbd2cSJim Jagielski return ServiceName.equalsAscii( pSN1 ) || ServiceName.equalsAscii( pSN2 );
690*b1cdbd2cSJim Jagielski }
691*b1cdbd2cSJim Jagielski
692*b1cdbd2cSJim Jagielski // XServiceInfo
getSupportedServiceNames(void)693*b1cdbd2cSJim Jagielski Sequence< OUString > RandomAnimationNode::getSupportedServiceNames(void) throw()
694*b1cdbd2cSJim Jagielski {
695*b1cdbd2cSJim Jagielski return RandomNode_getSupportedServiceNames();
696*b1cdbd2cSJim Jagielski }
697*b1cdbd2cSJim Jagielski
698*b1cdbd2cSJim Jagielski }
699*b1cdbd2cSJim Jagielski
700