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 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_xmloff.hxx" 30 #include "XMLChartPropertyContext.hxx" 31 #include "PropertyMap.hxx" 32 33 #include "XMLSymbolImageContext.hxx" 34 #include "XMLLabelSeparatorContext.hxx" 35 36 TYPEINIT1( XMLChartPropertyContext, SvXMLImportContext ); 37 38 using namespace ::com::sun::star; 39 40 XMLChartPropertyContext::XMLChartPropertyContext( 41 SvXMLImport& rImport, 42 sal_uInt16 nPrfx, 43 const ::rtl::OUString& rLName, 44 const uno::Reference< xml::sax::XAttributeList > & xAttrList, 45 sal_uInt32 nFamily, 46 ::std::vector< XMLPropertyState >& rProps, 47 const UniReference< SvXMLImportPropertyMapper >& rMapper ) : 48 SvXMLPropertySetContext( rImport, nPrfx, rLName, xAttrList, nFamily, rProps, rMapper ) 49 { 50 } 51 52 XMLChartPropertyContext::~XMLChartPropertyContext() 53 {} 54 55 SvXMLImportContext* XMLChartPropertyContext::CreateChildContext( 56 sal_uInt16 nPrefix, 57 const ::rtl::OUString& rLocalName, 58 const uno::Reference< xml::sax::XAttributeList > & xAttrList, 59 ::std::vector< XMLPropertyState > &rProperties, 60 const XMLPropertyState& rProp ) 61 { 62 SvXMLImportContext *pContext = 0; 63 64 switch( mxMapper->getPropertySetMapper()->GetEntryContextId( rProp.mnIndex ) ) 65 { 66 case XML_SCH_CONTEXT_SPECIAL_SYMBOL_IMAGE: 67 pContext = new XMLSymbolImageContext( GetImport(), nPrefix, rLocalName, rProp, rProperties ); 68 break; 69 case XML_SCH_CONTEXT_SPECIAL_LABEL_SEPARATOR: 70 pContext = new XMLLabelSeparatorContext( GetImport(), nPrefix, rLocalName, rProp, rProperties ); 71 break; 72 } 73 74 // default / no context yet: create child context by base class 75 if( !pContext ) 76 { 77 pContext = SvXMLPropertySetContext::CreateChildContext( 78 nPrefix, rLocalName, xAttrList, rProperties, rProp ); 79 } 80 81 return pContext; 82 } 83