2007-07-06 03:40:16 -05:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* $RCSfile: txtimppr.hxx,v $
|
|
|
|
* $Revision: 1.4 $
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* This file is part of OpenOffice.org.
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Lesser General Public License version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
2008-04-10 14:49:46 -05:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2007-07-06 03:40:16 -05:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _XMLOFF_TXTIMPPR_HXX
|
|
|
|
#define _XMLOFF_TXTIMPPR_HXX
|
|
|
|
|
|
|
|
#include "xmloff/dllapi.h"
|
2007-07-09 01:54:03 -05:00
|
|
|
#include <xmloff/xmlimppr.hxx>
|
2007-07-06 03:40:16 -05:00
|
|
|
|
|
|
|
class XMLFontStylesContext;
|
|
|
|
|
|
|
|
class XMLOFF_DLLPUBLIC XMLTextImportPropertyMapper : public SvXMLImportPropertyMapper
|
|
|
|
{
|
|
|
|
sal_Int32 nSizeTypeIndex;
|
|
|
|
sal_Int32 nWidthTypeIndex;
|
|
|
|
SvXMLImportContextRef xFontDecls;
|
|
|
|
|
|
|
|
void FontFinished(
|
|
|
|
XMLPropertyState *pFontFamilyNameState,
|
|
|
|
XMLPropertyState *pFontStyleNameState,
|
|
|
|
XMLPropertyState *pFontFamilyState,
|
|
|
|
XMLPropertyState *pFontPitchState,
|
|
|
|
XMLPropertyState *pFontCharsetState ) const;
|
|
|
|
|
|
|
|
void FontDefaultsCheck(
|
|
|
|
XMLPropertyState*pFontFamilyName,
|
|
|
|
XMLPropertyState* pFontStyleName,
|
|
|
|
XMLPropertyState* pFontFamily,
|
|
|
|
XMLPropertyState* pFontPitch,
|
|
|
|
XMLPropertyState* pFontCharSet,
|
|
|
|
XMLPropertyState** ppNewFontStyleName,
|
|
|
|
XMLPropertyState** ppNewFontFamily,
|
|
|
|
XMLPropertyState** ppNewFontPitch,
|
|
|
|
XMLPropertyState** ppNewFontCharSet ) const;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
virtual sal_Bool handleSpecialItem(
|
|
|
|
XMLPropertyState& rProperty,
|
|
|
|
::std::vector< XMLPropertyState >& rProperties,
|
|
|
|
const ::rtl::OUString& rValue,
|
|
|
|
const SvXMLUnitConverter& rUnitConverter,
|
|
|
|
const SvXMLNamespaceMap& rNamespaceMap ) const;
|
|
|
|
public:
|
|
|
|
XMLTextImportPropertyMapper(
|
|
|
|
const UniReference< XMLPropertySetMapper >& rMapper,
|
|
|
|
SvXMLImport& rImport,
|
|
|
|
XMLFontStylesContext *pFontDecls = 0 );
|
|
|
|
virtual ~XMLTextImportPropertyMapper();
|
|
|
|
|
|
|
|
void SetFontDecls( XMLFontStylesContext *pFontDecls );
|
|
|
|
|
|
|
|
/** This method is called when all attributes have benn processed. It may be used to remove items that are incomplete */
|
|
|
|
virtual void finished(
|
|
|
|
::std::vector< XMLPropertyState >& rProperties,
|
|
|
|
sal_Int32 nStartIndex, sal_Int32 nEndIndex ) const;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _XMLOFF_XMLIMPPR_HXX
|