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 31 32 33 34 // INCLUDE --------------------------------------------------------------- 35 36 #ifndef _XMLOFF_PAGEPHEADERFOOTERCONTEXT_HXX 37 #include "PageHeaderFooterContext.hxx" 38 #endif 39 #include "xmloff/xmlnmspe.hxx" 40 #include <xmloff/xmltoken.hxx> 41 #include "PagePropertySetContext.hxx" 42 43 using namespace com::sun::star; 44 using ::xmloff::token::IsXMLToken; 45 using ::xmloff::token::XML_HEADER_FOOTER_PROPERTIES; 46 47 //------------------------------------------------------------------ 48 49 PageHeaderFooterContext::PageHeaderFooterContext( SvXMLImport& rImport, 50 sal_uInt16 nPrfx, 51 const rtl::OUString& rLName, 52 const ::com::sun::star::uno::Reference< 53 ::com::sun::star::xml::sax::XAttributeList>&, 54 ::std::vector< XMLPropertyState > & rTempProperties, 55 const UniReference < SvXMLImportPropertyMapper > &rTempMap, 56 sal_Int32 nStart, sal_Int32 nEnd, 57 const sal_Bool bTempHeader ) : 58 SvXMLImportContext( rImport, nPrfx, rLName ), 59 rProperties(rTempProperties), 60 nStartIndex(nStart), 61 nEndIndex(nEnd), 62 rMap(rTempMap) 63 { 64 bHeader = bTempHeader; 65 } 66 67 PageHeaderFooterContext::~PageHeaderFooterContext() 68 { 69 } 70 71 SvXMLImportContext *PageHeaderFooterContext::CreateChildContext( sal_uInt16 nPrefix, 72 const rtl::OUString& rLName, 73 const ::com::sun::star::uno::Reference< 74 ::com::sun::star::xml::sax::XAttributeList>& xAttrList ) 75 { 76 SvXMLImportContext *pContext = 0; 77 78 if( XML_NAMESPACE_STYLE == nPrefix && IsXMLToken( rLName, XML_HEADER_FOOTER_PROPERTIES ) ) 79 { 80 PageContextType aType = Header; 81 if (!bHeader) 82 aType = Footer; 83 pContext = new PagePropertySetContext( GetImport(), nPrefix, 84 rLName, xAttrList, 85 XML_TYPE_PROP_HEADER_FOOTER, 86 rProperties, 87 rMap, nStartIndex, nEndIndex, aType); 88 } 89 90 91 if( !pContext ) 92 pContext = new SvXMLImportContext( GetImport(), nPrefix, rLName ); 93 94 return pContext; 95 } 96 97 void PageHeaderFooterContext::EndElement() 98 { 99 } 100 101