1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 
25 #ifndef OOX_PPT_CONDITIONCONTEXT
26 #define OOX_PPT_CONDITIONCONTEXT
27 
28 #include <com/sun/star/uno/Any.hxx>
29 #include <com/sun/star/animations/Event.hpp>
30 
31 #include "oox/core/fragmenthandler.hxx"
32 #include "oox/ppt/timenode.hxx"
33 #include "oox/ppt/timenodelistcontext.hxx"
34 #include "oox/ppt/animationspersist.hxx"
35 
36 namespace oox { namespace ppt {
37 
38 
39 	/** CT_TLTimeCondition */
40 	class CondContext
41 		: public TimeNodeContext
42 	{
43 	public:
44         CondContext( ::oox::core::ContextHandler& rParent,
45 					 const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttribs,
46 					 const TimeNodePtr & pNode, AnimationCondition & aCond );
47 		~CondContext( ) throw( );
48 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 aElementToken, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttribs ) throw ( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException );
49 
50 	private:
51 //		::com::sun::star::uno::Any &         maCond;
52 		::com::sun::star::animations::Event  maEvent;
53 //		AnimTargetElementPtr         mpTarget;
54 		AnimationCondition &                 maCond;
55 	};
56 
57 
58 
59 	/** CT_TLTimeConditionList */
60 	class CondListContext
61 		: public TimeNodeContext
62 	{
63 	public:
64         CondListContext( ::oox::core::ContextHandler& rParent,
65              sal_Int32  aElement,
66              const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttribs,
67              const TimeNodePtr & pNode, AnimationConditionList & aCondList );
68 		~CondListContext( ) throw( );
69 
70 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 aElementToken, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& /*xAttribs*/ ) throw ( ::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException );
71 
72 	private:
73 		AnimationConditionList     & maConditions;
74 	};
75 
76 
77 } }
78 
79 
80 #endif
81