blob: 1ce057d529772c1ac26148309a32b23c660d046e [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "ximpnote.hxx"
#include <com/sun/star/presentation/XPresentationPage.hpp>
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
using namespace ::com::sun::star;
//////////////////////////////////////////////////////////////////////////////
SdXMLNotesContext::SdXMLNotesContext( SdXMLImport& rImport,
sal_uInt16 nPrfx, const OUString& rLocalName,
const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList,
uno::Reference< drawing::XShapes >& rShapes)
: SdXMLGenericPageContext( rImport, nPrfx, rLocalName, xAttrList, rShapes )
{
OUString sStyleName;
const sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
for(sal_Int16 i=0; i < nAttrCount; i++)
{
OUString sAttrName = xAttrList->getNameByIndex( i );
OUString aLocalName;
sal_uInt16 nPrefix = GetSdImport().GetNamespaceMap().GetKeyByAttrName( sAttrName, &aLocalName );
OUString sValue = xAttrList->getValueByIndex( i );
const SvXMLTokenMap& rAttrTokenMap = GetSdImport().GetMasterPageAttrTokenMap();
switch(rAttrTokenMap.Get(nPrefix, aLocalName))
{
case XML_TOK_MASTERPAGE_PAGE_MASTER_NAME:
{
msPageMasterName = sValue;
break;
}
case XML_TOK_MASTERPAGE_STYLE_NAME:
{
sStyleName = sValue;
break;
}
case XML_TOK_MASTERPAGE_USE_HEADER_NAME:
{
maUseHeaderDeclName = sValue;
break;
}
case XML_TOK_MASTERPAGE_USE_FOOTER_NAME:
{
maUseFooterDeclName = sValue;
break;
}
case XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME:
{
maUseDateTimeDeclName = sValue;
break;
}
}
}
SetStyle( sStyleName );
// now delete all up-to-now contained shapes from this notes page
uno::Reference< drawing::XShape > xShape;
while(rShapes->getCount())
{
rShapes->getByIndex(0L) >>= xShape;
if(xShape.is())
rShapes->remove(xShape);
}
// set page-master?
if(msPageMasterName.getLength())
{
SetPageMaster( msPageMasterName );
}
}
//////////////////////////////////////////////////////////////////////////////
SdXMLNotesContext::~SdXMLNotesContext()
{
}
//////////////////////////////////////////////////////////////////////////////
SvXMLImportContext *SdXMLNotesContext::CreateChildContext( sal_uInt16 nPrefix,
const OUString& rLocalName,
const uno::Reference< xml::sax::XAttributeList>& xAttrList )
{
// OK, notes page is set on base class, objects can be imported on notes page
SvXMLImportContext *pContext = 0L;
// some special objects inside presentation:notes context
// ...
// call parent when no own context was created
if(!pContext)
pContext = SdXMLGenericPageContext::CreateChildContext(nPrefix, rLocalName, xAttrList);
return pContext;
}
//////////////////////////////////////////////////////////////////////////////
void SdXMLNotesContext::EndElement()
{
SdXMLGenericPageContext::EndElement();
}