1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #include "oox/drawingml/textliststylecontext.hxx"
29 #include "oox/drawingml/textparagraphpropertiescontext.hxx"
30 #include "oox/helper/attributelist.hxx"
31 
32 using ::rtl::OUString;
33 using namespace ::oox::core;
34 using namespace ::com::sun::star::uno;
35 using namespace ::com::sun::star::xml::sax;
36 
37 namespace oox { namespace drawingml {
38 
39 // --------------------------------------------------------------------
40 
41 // CT_TextListStyle
42 TextListStyleContext::TextListStyleContext( ContextHandler& rParent, TextListStyle& rTextListStyle )
43 : ContextHandler( rParent )
44 , mrTextListStyle( rTextListStyle )
45 {
46 }
47 
48 TextListStyleContext::~TextListStyleContext()
49 {
50 }
51 
52 // --------------------------------------------------------------------
53 
54 void TextListStyleContext::endFastElement( sal_Int32 ) throw (SAXException, RuntimeException)
55 {
56 }
57 
58 // --------------------------------------------------------------------
59 
60 Reference< XFastContextHandler > TextListStyleContext::createFastChildContext( sal_Int32 aElementToken, const Reference< XFastAttributeList >& rxAttributes ) throw (SAXException, RuntimeException)
61 {
62 	Reference< XFastContextHandler > xRet;
63 	switch( aElementToken )
64 	{
65 		case A_TOKEN( defPPr ):		// CT_TextParagraphProperties
66             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 0 ] ) );
67 			break;
68 		case A_TOKEN( outline1pPr ):
69             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getAggregationListStyle()[ 0 ] ) );
70 			break;
71 		case A_TOKEN( outline2pPr ):
72             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getAggregationListStyle()[ 1 ] ) );
73 			break;
74 		case A_TOKEN( lvl1pPr ):
75             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 0 ] ) );
76 			break;
77 		case A_TOKEN( lvl2pPr ):
78             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 1 ] ) );
79 			break;
80 		case A_TOKEN( lvl3pPr ):
81             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 2 ] ) );
82 			break;
83 		case A_TOKEN( lvl4pPr ):
84             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 3 ] ) );
85 			break;
86 		case A_TOKEN( lvl5pPr ):
87             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 4 ] ) );
88 			break;
89 		case A_TOKEN( lvl6pPr ):
90             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 5 ] ) );
91 			break;
92 		case A_TOKEN( lvl7pPr ):
93             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 6 ] ) );
94 			break;
95 		case A_TOKEN( lvl8pPr ):
96             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 7 ] ) );
97 			break;
98 		case A_TOKEN( lvl9pPr ):
99             xRet.set( new TextParagraphPropertiesContext( *this, rxAttributes, *mrTextListStyle.getListStyle()[ 8 ] ) );
100 			break;
101 	}
102 	if ( !xRet.is() )
103 		xRet.set( this );
104 	return xRet;
105 }
106 
107 // --------------------------------------------------------------------
108 
109 } }
110 
111